我有以下简化表:
tblOrders
orderID date
---------------------
1 2013-10-04
2 2013-10-05
3 2013-10-06
Run Code Online (Sandbox Code Playgroud)
tblOrderLines
lineID orderID ProductCategory
--------------------------------------
1 1 10
2 1 3
3 1 10
4 2 3
5 3 3
6 3 10
7 3 10
Run Code Online (Sandbox Code Playgroud)
我想从tblOrders中选择记录,如果任何订单行有ProductCategory = 10.因此,如果特定订单的所有行都没有ProductCategory = 10,那么不要返回该订单.
我该怎么办?
这应该做:
SELECT *
FROM tblOrders O
WHERE EXISTS(SELECT 1 FROM tblOrderLines
WHERE ProductCategory = 10
AND OrderID = O.OrderID)
Run Code Online (Sandbox Code Playgroud)