表Items
:
ItemCode ---名稱-------股票
111 -----------書--------- 10
112 -----------包----------- 03
113 ---------- -Pen ----------- 08
114 ----------- --------鉛筆13更新表給出了意想不到的結果
表INVOICEITEMS(SoldItems)
:
BillNumber --- ItemCode ----- UnitValue(數量)
1005 ----------- 111 ------------------ 3
1005 ----------- 111 ------------------ 2
1005 ----------- 113 ---------------- --4
1006 ----------- 111 ------------------ 6
1007 ---------- -112 ------------------ 5
我們需要更新表中的ITEMS
表。
我們需要從INVOICEITEMS中的BillNumber'1005'的UnitValues的總和中添加ITEMS表中每個ItemCode的庫存。
查詢使用: UPDATE ITEMS SET Stock=Stock+(SELECT SUM(T.UnitValue) FROM INVOICEITEMS T WHERE T.BillNumber LIKE '1005' AND T.ItemCode LIKE ItemCode) WHERE ItemCode IN(SELECT J.ItemCode FROM INVOICEITEMS J WHERE J.BillNumber LIKE '1005')
預期結果更新用後:
表中的項目
ItemCode ---名稱----股票
111 --------- --Book ------- 15
112 ----------- Bag --------- 03
113 -----------筆--------- 12
114 -----------鉛筆------ 13
結果我們得到:
表中的項目
ItemCode ---名稱----股票
111 -----------書-------- 19
112 ----------- Bag --------- 03
113 ----------- Pen --------- 17
114 -----------鉛筆------- 13
請幫助更正此查詢。
+1提到轉換爲SELECT語句,以查看它在做什麼查詢!很多人都沒有想到,這是一個簡單的故障排除提示! – Leslie 2014-11-03 17:18:05