如何在 MySQL 中执行以下操作 - 我有一个包含客户订单的数据库,我想仅显示两种类型订单的客户记录,并且仅显示这两种类型的订单。
示例 -
Orders:
'Customer Id' 'Product'
0001 Widget 1
0001 Widget 2
0001 Widget 3
0002 Widget 2
0002 Widget 3
0003 Widget 1
0004 Widget 1
0004 Widget 3
0004 Widget 4
0004 Widget 5
我只想显示已订购小部件 1 和小部件 3 的客户,并且仅显示这些订单
期望的结果 -
Orders:
'Customer Id' 'Product'
0001 Widget 1
0001 Widget 3
0004 Widget 1
0004 Widget 3
最佳答案
这个怎么样:
SELECT custid, product FROM transactions WHERE custid IN
(SELECT custid
FROM transactions
WHERE product in ('w1', 'w3')
GROUP BY custid
HAVING COUNT(DISTINCT product) = 2)
and product IN('w1', 'w3');
关于mysql - 仅显示具有两种类型记录的客户并且仅显示这些记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51086112/