我正在尝试编写一个将检索2列的查询。一列是项目的名称,第二列是该项目成员的名称。我得到的是一个包含每个成员而不是每个项目的信息的列表。意思是如果项目中有多个成员,我有时会重复项目名称。我如何只显示项目名称,第二列的团队成员?谢谢。
SELECT DISTINCT p.project_name
, s.student_name
FROM Projects p
LEFT
JOIN Students s
ON p.project_id = s.student_id
project_name student_name
space exploration Brian
space exploration Steve
space exploration Finn
Advanced Java Kay
Advanced Java John
Cryptography Jake
Cryptography Andy
ABC NULL
答案 0 :(得分:1)
我想你想要group_concat()
:
SELECT p.project_name, GROUP_CONCAT(s.student_name)
FROM Projects p LEFT JOIN
Students s
ON p.project_id = s.student_id
GROUP BY p.project_name;
这会让学生进入以逗号分隔的列表。