2011-04-28 47 views
0

我有2个表分组数据,并将其显示

表1:配置文件

id 
name 
url 

表2:产品

id 
name 
profileid (Reference Key, Profiles.id) 

现在,表已以下数据

表1 :Profiles

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
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 
+0

很好,谢谢。 – 2011-04-28 08:26:17

相关问题