我的表结构是:
Student:
ID Name From
1 student A England
2 student B China
3 student C USA
Subject:
ID id_student Subject
1 1 Maths
2 1 Physics
3 2 English
4 3 Physics
5 4 History
我想获取主表(A)中的所有数据以及子表(B)中的所有行都在网格表中显示如下:
ID Student Subject
1 student_A Maths, Physics
2 student_B English
3 student_C Physics, History
我想知道如何选择数据?
答案 0 :(得分:1)
您可以使用GROUP_CONCAT
:
SELECT t1.ID, t1.Name, GROUP_CONCAT(t2.Subject)
FROM Student AS t1
LEFT JOIN Subject AS t2 ON t1.ID = t2.id_student
GROUP BY t1.ID, t1.Name