gpt4 book ai didi

mysql - 连接此表的正确 SELECT 语句是什么

转载 作者:行者123 更新时间:2023-11-29 16:24:09 25 4
gpt4 key购买 nike

这是我的 SQL 问题:

Mysql Database xyz 

Table 1
-----------------------
Email Name

1.john@doe.com john
-----------------------

Table 2

-----------------------
Email Color

1.john@doe.com red
2.john@doe.com orange
3.john@doe.com blue
-----------------------

执行查询的正确方法是什么:

SELECT * FROM ... WHERE table1.email ='john doe'

这样我就得到了mysql查询结果

[john@doe.com,john,red,orange,blue]

我的糟糕解决方案:

 SELECT Name ,
(SELECT GROUP_CONCAT(Color) As Colors FROM Table2 WHERE Table2.Email = 'john@doe.com')
FROM Table1
WHERE Table1.Email = 'john@doe.com';

最佳答案

您的解决方案有效,但更好的方法是使用联接。

SELECT t1.email, t1.name, GROUP_CONCAT(t2.color) AS colors
FROM Table1 AS t1
LEFT JOIN Table2 AS t2 ON t1.email = t2.email
WHERE t1.email = 'john@doe.com';

这更好,因为您只需在一处指定您要查找的电子邮件即可。如果您将 WHERE 子句替换为 GROUP BY t1.email,您就可以得到所有人。

关于mysql - 连接此表的正确 SELECT 语句是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54353828/

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