MySQL查询,用于检索具有相同值的用户的特定数据

时间:2014-12-08 00:42:01

标签: mysql database

我正在尝试编写一个将检索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

1 个答案:

答案 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;

这会让学生进入以逗号分隔的列表。