У меня есть 3 таблицы, которые приведены ниже:
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: // Это табличная переменная
* * 1010
Здесь, исходя из вышеуказанных 3 таблиц. Я хочу обновить PODetail StatusID = 4, когда
SUM (AcceptedQty) MRVDetail для PODetailID = POQuantity табличной переменной @PODetail для конкретного PODetailID.
Как этого добиться?
Я пробовал приведенное ниже заявление об обновлении. Но это совсем не работает. Как это сделать? Пожалуйста, помогите мне.
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