0
我有3个表被如下:基于聚合函数 “SUM” 更新选择:
PODetail:
PODetailID POID ItemID POQuantity StatusID
------------ ------ -------- ------------ ----------
1 1 10 8.00 2
2 1 17 33.00 2
3 2 1 7.00 2
MRVDetail:
MRVDetailID AcceptedQty PODetailID
-------------- ------------- ------------
1 3.00 3
2 4.00 3
3 10.00 4
@Detail://它是表变量
PODetailID POQuantity
------------ ------------
3 7
这里,基于在上面的3张桌子上。当PODetailID = POVQuantity表变量@PODetail到特定的PODetailID时,我想将PODetail StatusID = 4更新为PODetail StatusID = 4时的最小值(最大值) 。
如何实现这一目标?
我试过下面的更新声明。但它根本不起作用。这个怎么做?请帮帮我。
UPDATE
PODetail
SET
PODetail.StatusID = 4
FROM
PODetail
INNER JOIN @Detail P ON PODetail.PODetailID = P.PODetailID
INNER JOIN MRVDetail ON MRVDetail.PODetailID = P.PODetailID
WHERE
(SELECT SUM(AcceptedQty) FROM MRVDetail WHERE MRVDetail.PODetailID = P.PODetailID) = P.POQuantity
AND PODetail.POID = 2
是否查询产生错误或只是没有更新? – ipr101
没有错误。上述查询不会选择任何问题的行。 – thevan