gpt4 book ai didi

mysql - 从一个表中选择所有记录,并显示是否在另一个表中找到该记录的额外字段

转载 作者:行者123 更新时间:2023-11-29 02:45:51 25 4
gpt4 key购买 nike

我有 2 个表。

用户:

ID      CUSTOMID     NAME
1 X543 John
2 X354 Jane
3 X389 Jack
4 X123 James

列表:

ID      CUSTOMID     NAME       ADDRESS
1 X543 John address1
2 X543 John address2
3 X543 John address3
4 X543 John address4
5 X543 John address5
6 X354 Jane address1
7 X354 Jane address2
8 X354 Jane address3
9 X389 Jack address1
10 X389 Jack address2
11 X389 Jack address3
12 X389 Jack address4
13 X389 Jack address5
14 X389 Jack address6

我需要以下结果:

ID      CUSTOMID     NAME     MATCHED
1 X543 John 1
2 X354 Jane 1
3 X389 Jack 1
4 X123 James 0

如果列表中有一个 CUSTOMID,那么我需要将标识符添加到用户表中。到目前为止,这是我尝试过的:

SELECT users.*, if(list.CUSTOMID IS NULL, FALSE, TRUE) AS matched from users LEFT JOIN list ON (users.CUSTOMID=list.CUSTOMID)

但是我得到了很多重复项,因为列表中有多个记录具有相同的 CUSTOMID。

最佳答案

您可以使用 CASE 和 EXISTS

Select u.*, 
case when exists (
select 1 from list l where u.customid =l.customid
) then 1 else 0 end matched
From users u;

关于mysql - 从一个表中选择所有记录,并显示是否在另一个表中找到该记录的额外字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42304990/

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