2013年8月2日 星期五

MySQL、MsSQL 多表更新

假定我們有兩張資料表,一張表為Product表存放產品資料,其中有產品價格欄位Price及一欄出貨公司編號欄位 CompanyId;
另外一張表是 Company 表,存放出貨公司的基本資料,其中有區域欄位Area,
現在我們要將出貨公司如位於南區時將其的所有出貨的產品價格降價10%進行促銷

在Mysql中我們可以下
UPDATE product p INNER JOIN Company c ON p.CompanyId = c.CompanyId
SET p.price = p.price * 0.9
WHERE c.Area = '南區'
在 Sql Server 中我們可以下
UPDATE [p] SET
[price] = [price] * 0.9
FROM [Product] AS [p] INNER JOIN [dbo].[Company] AS [c] ON [p].CompanyId = [c].CompanyId
WHERE [c].[Area] = '南區'

沒有留言: