我有一个更新查询,用于更新订单表中的StatusFK。我有一个Select查询,显示包含所有OrderDetails且状态= 2(已接收)的订单
我想结合2个查询,以便在一个查询中找到更新和更新所有找到的记录的记录?这有可能吗?
UPDATE tblOrder INNER JOIN tblOrderDetail ON tblOrder.OrderPK = tblOrderDetail.OrderFK
SET tblOrder.Statusfk = 2
WHERE (((tblOrderDetail.OrderFK)=[forms]![frmReceive]![OrderPK]));
查找需要接收的订单
SELECT tblOrder.OrderPK
FROM tblOrder
WHERE NOT EXISTS (
SELECT 1
FROM tblOrderDetail
WHERE tblOrderDetail.OrderFK = tblOrder.OrderPK
AND tblOrderDetail.StatusFK <> 2 AND tblOrder.StatusFK );
答案 0 :(得分:0)
我认为你可以这样做:
UPDATE tblOrder
SET tblOrder.Statusfk = 2
WHERE NOT EXISTS (SELECT 1
FROM tblOrderDetail
WHERE tblOrderDetail.OrderFK = tblOrder.OrderPK AND
tblOrderDetail.StatusFK <> 2 AND
tblOrder.StatusFK
);