表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