Select 个 table 中的记录,其中另一个 table 中的数据决定显示哪些记录
Select records in a table, where the data in another table determines which records are shown
我有两个表,第一个是Purchase_Orders (PO)
,第二个是Purchase_Order_Items (POI)
。
我需要 select 来自 PO
的所有采购订单,这些订单仍有来自 POI
的物品要交付。
因此,如果 POI
中的所有 Delivered
列都等于 1,则不显示采购订单,否则它应该在记录集中显示采购订单。
表之间的关系是
PO.Order_No = POI.Order_No
您可以在此处使用现有逻辑:
SELECT po.*
FROM Purchase_Orders po
WHERE EXISTS (
SELECT 1
FROM Purchase_Order_Items poi
WHERE poi.Order_No = po.Order_No AND
poi.Delivered <> 1
);
exists 子查询可能受益于以下索引:
CREATE INDEX idx ON Purchase_Order_Items (Order_No, Delivered);
我有两个表,第一个是Purchase_Orders (PO)
,第二个是Purchase_Order_Items (POI)
。
我需要 select 来自 PO
的所有采购订单,这些订单仍有来自 POI
的物品要交付。
因此,如果 POI
中的所有 Delivered
列都等于 1,则不显示采购订单,否则它应该在记录集中显示采购订单。
表之间的关系是
PO.Order_No = POI.Order_No
您可以在此处使用现有逻辑:
SELECT po.*
FROM Purchase_Orders po
WHERE EXISTS (
SELECT 1
FROM Purchase_Order_Items poi
WHERE poi.Order_No = po.Order_No AND
poi.Delivered <> 1
);
exists 子查询可能受益于以下索引:
CREATE INDEX idx ON Purchase_Order_Items (Order_No, Delivered);