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

马修·布莱克本

该数据库具有一对多关系,其中父表“客户”是客户列表,子表“订单”是他们已购买商品的列表。我正在尝试开发一个查询,以选择同时购买电视和沙发的客户。以下查询返回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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

选择在同一列中具有两个不同值的行

SQL选择在一列中具有重复值的不同行,然后根据主键字段中的值为每个重复项选择一行

MySQL-如何从一列中查询具有不同值的不同列

SQL查询将根据另一列中的值省略具有相同ID的记录

Scala-spark:如何随机选择一列具有不同大小的数组中的项

SQL:仅当在同一行中另一列具有不同的值时,才返回一列的值

在另一列的同一表中具有相同值的SQL组项目

在同一列中查询3个不同的值

查询以选择具有不同值的同一列上的条件

根据具有多个记录的表中另一列的不同值添加值

选择在一列中具有相同值而在另一列中具有不同值的行

统一同一记录中具有不同列的查询

sql查询以选择两列中具有相同id但不同值的记录

SQL查询以选择记录在其中一列中值为= 0且在另一列中具有唯一ID的行

如何选择具有不同日期条件的同一列值并在同一查询中显示为column1和column2

显示同一列的结果,但在PHP中具有不同的值

运行查询,在该查询中显示在两列中具有重复值的记录,但在另一列中具有不同记录的记录

SQL-如何插入具有同一列的多个值的记录?

SQL选择具有不同位置的同一列,然后联接并追加到外部查询

选择在列中具有相同值而在另一列中具有不同值的记录

sql:使用单个查询在另一列中选择具有相同列值的行

为什么在 oracle SQL 中,在 where 条件差异很大的情况下,对同一列执行具有两个不同值的查询所花费的时间

MySQL 选择查询:SUM() 行具有不同的值,来自另一列

sql加入具有不同值的同一列

改进对在另一列中具有特定值的不同值进行计数的查询

使用 1 个查询在列中显示 COUNT(Items) 和 COUNT(同一项目,但在另一列中具有特定值)

SQL - 为每个非唯一 ID 选择具有不同一列的行

SQL Server:选择同一列中具有相同值的2行的最大日期/时间

MySQL 查询一列中具有相同值而另一列中具有不同值的行