MySql:将三个表合并在一起

时间:2011-07-08 18:03:42

标签: mysql sql join

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

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的结果中,它只显示第一个值并忽略第二个值,但它应该在结果表中。

我有什么遗失的吗?

3 个答案:

答案 0 :(得分:5)

摆脱“分组依据”部分。这应该可以解决你的问题。

答案 1 :(得分:4)

消除GROUP BY。在这个查询中没有必要。

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;

答案 2 :(得分:3)