我有两个表:Customers
和 Products
。一位客户可以拥有多个产品。
我正在尝试检索没有特定产品的客户。
例如,10 位客户购买了产品 A
和 B
,另外 10 位客户购买了 A
、B
,和 C。如何找回那些没有 C
产品的客户?
最佳答案
对于您当前的数据库结构,这就是您正在寻找的:
select c.id, c.name, c.phone, c.address
from Customers c
where not exists (select * from products p
where p.customer_id = c.id and p.id = 'c')
但是,您应该考虑创建第三个表来存储单独的购买。
关于mysql - sql 查询,在 where 类中进行行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7875747/