gpt4 book ai didi

MySQL 数据透视表 - 不在

转载 作者:行者123 更新时间:2023-11-29 07:22:34 34 4
gpt4 key购买 nike

在 MySQL 数据库中,我有以下表格:

客户

CUSTOMER_ID | NAME
---------------------------
1 | John Doe
2 | Peter Jones
3 | David Smith

产品

PRODUCT_ID  | DESCRIPTION
---------------------------
1 | Toothbrush
2 | Shaving cream
3 | Deodorant

客户产品

CUSTOMER_ID | PRODUCT_ID
---------------------------
1 | 2
1 | 3
2 | 1
3 | 1
3 | 2

customer_product是一个数据透视表。当客户订购产品时,它将被记录在那里。

我的问题是:如何选择所有未订购特定产品的客户?

例如,我想检索所有从未订购过牙刷的客户。

最佳答案

您可以使用NOT EXISTS:

SELECT CUSTOMER_ID,NAME
FROM customers AS c
WHERE NOT EXISTS (
SELECT 1
FROM customer_product AS cp
INNER JOIN products AS p
ON cp.PRODUCT_ID= p.PRODUCT_ID
WHERE p.DESCRIPTION = 'Toothbrush' AND cp.CUSTOMER_ID = c.CUSTOMER_ID)

关于MySQL 数据透视表 - 不在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35600478/

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