该数据库具有一对多关系,其中父表“客户”是客户列表,子表“订单”是他们已购买商品的列表。我正在尝试开发一个查询,以选择同时购买电视和沙发的客户。以下查询返回0个结果。
SELECT Customer.*
FROM Customer
JOIN Orders
ON Customer.ID = Orders.customerID
WHERE Orders.item = 'television'
AND Orders.item = 'couch';
用OR替换AND无效,因为它将返回购买了两个或两个商品之一的客户。我的目标结果是同时购买了两者的客户。
您需要利用子查询(或联合)使用哪种SQL?
SELECT *
FROM CUSTOMER c
WHERE EXISTS (SELECT 1 FROM ORDERS o WHERE c.id = o.id and type = 'couch')
and EXISTS (SELECT 1 FROM ORDERS o WHERE c.id = o.id and type = 'tv')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句