gpt4 book ai didi

MySql:将三个表合并在一起

转载 作者:可可西里 更新时间:2023-11-01 06:36:03 24 4
gpt4 key购买 nike

我想将三个表合并在一起,如下所示:

merge three tables T1, T2 and T3 together

基本上,我想包括所有三个表 T1、T2 和 T3 中的项目,并将它们合并,如结果表中所示。我试过这样的事情:

SELECT T1.user, T2.tid, T2.name, T3.type, T1.mid
FROM T1
LEFT JOIN T2 ON T1.mid = T2.mid
LEFT JOIN T3 ON T2.tid = T3.tid
GROUP BY T1.user;

但是好像没有效果。它确实显示结果,但仅显示唯一值。在结果中,如果 userjohny,它只会显示第一个值而忽略第二个值,尽管它应该在结果表中。

有什么我想念的吗?

最佳答案

如果您想查看每个用户的所有结果,则不需要组。否则它会隐藏一些行并为每个用户只显示一个行。

首先将 T1 Right 连接到 T2,而不是将 Left Join 连接到 T3。如果 T1 中的元素与 T3 中的元素没有关联,这是一种很好的做法,可以防止为 T£ 字段显示 NULL 结果。

SELECT T1.user, T2.tid, T2.name, T3.type, T1.mid
FROM T1
RIGHT JOIN T2 ON T1.mid = T2.mid
LEFT JOIN T3 ON T2.tid = T3.tid;

关于MySql:将三个表合并在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628489/

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