Customer Table
----------------------
CustomerName
Peter
Sam
Sales Table
-----------------------
ProductName Customer
Cloth Peter
Mobile Peter
Cloth Sam
Laptop Sam
期待される結果
Customer
Sam
「モバイル」ではなく「クロス」を購入した顧客として結果が欲しい、私は試しました
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