我正在尝试使用MySQL GROUP_CONCAT来聚合链接表链接的2个表中的数据。我想显示有用的数据,而不仅仅是ID。
如果我执行以下查询:
SELECT pid, group_concat(vid) FROM bs_prod_vars GROUP BY pid
我正确地得到了以下内容:
pid group_concat(vid)
---------------------------------------
1 1,2,3,4,5,6
2 9,10,11,4,12,8,6,1,2,5,3,7
3 2,13,3,1,11,4,6,10,9,5,12,8,7
4 2,6,5,3,4,1
5 1,11,3,12,5,9,10,6,8,4,13,2,7
8 14
如果我这样做:
SELECT p.name, group_concat(v.name)
FROM bs_products p, bs_variations v, bs_prod_vars pv
WHERE pv.pid = p.id
AND pv.vid = v.id
GROUP BY p.name
我只得到如下两行:
name group_concat(v.name)
-------------------------------------------------------------
Test Product A Pre-2012
Test Product B 2008 - 2010,2002 - 2012,From 2011,2002...
我的第二个查询出了什么问题?