我想将三个表合并在一起,如下所示:
基本上我想要包括所有三个表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;
但它似乎没有奏效。它确实显示结果,但只显示唯一值。在user
为johny
的结果中,它只显示第一个值并忽略第二个值,但它应该在结果表中。
我有什么遗失的吗?
答案 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)