我有两张桌子
表1(所有Int):ID, SomeValue, Category, Dept
表2:CategoryID, VarChar CategoryName
大约有14个类别。
现在我需要一个像DeptID, Cat1, Cat2, Cat3....Cat14
示例行将是:音乐,1,4,55,6,3 ......
所以基本上每个部门都有自己的行,显示表1中使用该部门的所有值 我还需要表2生成的列名称,我认为这就是我丢失的地方。
我该怎么做?
答案 0 :(得分:0)
您可以使用group_concat
SELECT
dept.id as dept_id
dept.name as dept_name
, group_concat(cat.CategoryName) as cat_names
FROM table1 as dept
INNER JOIN table2 as cat ON (dept.category = cat.category_id)
GROUP BY dept.id
因为它是MySQL,所以group by
上不需要dept.name
,因为它完全依赖于dept.id
。
请参阅:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat