我有两个表表A =订单和表B = OrderDetails,它们由唯一的order_no连接。
对于Order TableA中的每个ORDER_no,在OrderDetails TAble B中可以连接多个行。基本上,如果TAble B中的任何行等于特定名称,我需要一个查询来排除两个表中的整个Order。 / p>
示例:
如果订单1234在OrderDetails表B中有5行,其中一行='注意'那么我希望从结果中排除整个ORder 1234。目前它只排除了该行但显示其他行?
答案 0 :(得分:1)
select o.*
from orders o
where not exists (select 1
from orderdetails od
where od.orderid = o.orderid and od.name = 'Notes'
);
如果您想要所有详细记录,可以在外部查询中加入orderdetails
。