Customer Table
----------------------
CustomerName
Peter
Sam
Sales Table
-----------------------
ProductName Customer
Cloth Peter
Mobile Peter
Cloth Sam
Laptop Sam
预期结果内同一列加入
Customer
Sam
我想导致的客户谁buyed“布”,但不是“移动”,我想
select c.CustomerName from Customer c inner join Sales s1 on (s1.customer = c.customername and s1.productname = 'Cloth') inner join Sales s2 on (s2.customer = c.customername and s2.productname != 'Mobile');
但它总是返回两个条目
Customer
Peter
Sam
Sam
谢谢@David是不可能与innerjoins? – BreakHead 2013-05-10 12:59:32
您必须将外部联接销售给“移动”才能找到销售,然后从结果中除去找到记录的结果以及“布料”的内部联接,然后删除结果集。它根本不会有效。 – 2013-05-10 13:03:52