gpt4 book ai didi

mysql - 与 MySql 中另一个表中列出的每个不同值进行比较

转载 作者:搜寻专家 更新时间:2023-10-30 21:59:02 27 4
gpt4 key购买 nike

我有以下两张表

表:客户

Cust_ID    FName
------- -----
1 X
2 Y
3 Z

表:账户

Acct_Number    Cust_ID    Acct_Type
----------- ------- ---------
1001 1 savings
1002 1 capital
1003 2 savings
1004 2 capital
1005 2 vip
1006 3 capital
1007 3 vip

Account表中有三种不同类型的账户,(savings, capital and vip),我想找到拥有Account relation中列出的每种类型账户的客户(没有使用任何聚合运算符)。也就是说,在这种情况下,Y 将符合条件,因为他是唯一拥有所有类型帐户的人。

我得到了尝试以下方法的建议,但它不起作用:

SELECT c.FName, c.Cust_ID FROM Customer AS c
JOIN Account AS a1 ON c.Cust_ID = a1.Cust_ID
JOIN Account AS a2 ON c.Cust_ID = a2.Cust_ID
WHERE a1.Acct_Type <> a2.Acct_Type;

上面的查询给出了拥有两种不同类型帐户的客户,而不是全部。非常感谢您的帮助。

最佳答案

这是一个使用 not exists 的查询

select c.* from customer c
where not exists (
select acct_type from account a2
where acct_type not in (
select distinct acct_type
from account a3 where a3.Cust_ID = c.Cust_ID
)
)

关于mysql - 与 MySql 中另一个表中列出的每个不同值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427138/

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