mysqlクエリで1つの変数で複数の列を取得する方法
-
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)
これでこのクエリは機能していますが、個別の行が与えられますが、すべてのタイプが1つの変数で表示され、テーブル形式で表示できるようにします。
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