如何在MySQL查询中的一个变量中获取多个列
-
01-10-2019 - |
题
我有桌子
Articles -------- id,name,type_id
Type--------------id,name
article_type ----------article_id , type_id
我使用此查询
select A.name from types A
inner join article_type B on ( B.type_id = A.id and article_id = 10)
现在此查询正在工作,但它为我提供了单独的行,但我希望所有类型在一个变量中,以便我可以以表格格式显示
Article name ------------types
milk--------------------dairy , persishable , costly
解决方案
使用mysql group_concat函数:
SELECT a.name AS article_name,
GROUP_CONCAT(t.name) AS types
FROM ARTICLES a
JOIN ARTICLE_TYPE at ON at.article_id = a.id
JOIN TYPE t ON t.id = at.type_id
GROUP BY a.name
其他提示
如果我正确理解,诀窍是使用 CONCAT
, ,如 SELECT CONCAT(A.name, ',',B.type) AS synth FROM...
不隶属于 StackOverflow