gpt4 book ai didi

mysql - SQL 查询以选择在同一列中具有不同值的子记录的父级

转载 作者:可可西里 更新时间:2023-11-01 08:15:45 24 4
gpt4 key购买 nike

此数据库具有一对多关系,其中父表 Customers 是客户列表,子表 Orders 是客户购买的商品列表。我正在尝试开发一个查询来选择同时购买了电视和沙发的客户。以下查询返回 0 个结果。

SELECT Customer.*
FROM Customer
JOIN Orders
ON Customer.ID = Orders.customerID
WHERE Orders.item = 'television'
AND Orders.item = 'couch';

将 AND 替换为 OR 是行不通的,因为它会返回同时购买了两件商品或仅购买其中一件商品的客户。我的目标结果只是购买了两者的客户。

最佳答案

您需要利用子查询(或联合)您使用的是哪种 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')

关于mysql - SQL 查询以选择在同一列中具有不同值的子记录的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29159694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com