分组数据并显示它

时间:2011-04-28 06:14:53

标签: mysql

我有2张桌子

表1:个人资料

id
name
url

表2:产品

id
name
profileid (Reference Key, Profiles.id)

现在,表格包含以下数据

表1:个人资料

id     name     url
-----------------------------
1      aaa      http://a.com
2      bbb      http://b.com
3      ccc      http://c.com

表2:

id     name     profileid
-----------------------------
1      mmm      1
2      nnn      1
3      ooo      2

现在我需要输出

profileid     profilename     productname
------------------------------------------
1              aaa               mmm
                                 nnn
2              bbb               ---
3              ccc               ---

我知道左连接会起作用,但它会重复配置文件名称。有没有办法获取个人资料ID和名称的单一时间,以及所有相关产品的列表。

1 个答案:

答案 0 :(得分:1)

SELECT P1.id AS profileid
     , P1.name AS profilename
     , GROUP_CONCAT(P2.productname)
  FROM Profiles AS P1 
  LEFT
  JOIN Products AS P2 
    ON P1.id = P2.profileid 
 GROUP 
    BY P1.id
     , P1.name 
 ORDER 
    BY profileid ASC