更新时间:2023-02-02 22:58:43
最简单的方法是 EXISTS.我假设您想同时检查 Orders 和 OrderItems.这也意味着您只能过滤一次 CustID.
Easiest way is EXISTS. I assume you want to check both Orders and OrderItems. This also means you only filter on CustID once.
UPDATE
C
SET
IsDeleted = 1
FROM
Customers C
WHERE
C.CustID = 2
AND
EXISTS (SELECT *
FROM
Orders O
WHERE
O.CustID = C.CustID AND O.IsDeleted = 1)
AND
EXISTS (SELECT *
FROM
Orders O
JOIN
OrderItems OI ON O.OrderID = OI.OrderID
WHERE
O.CustID = C.CustID AND OI.IsDeleted = 1)