Come ottenere più colonne in una variabile nella query mysql
-
01-10-2019 - |
Domanda
Ho la tabella
Articles -------- id,name,type_id
Type--------------id,name
article_type ----------article_id , type_id
I utilizzando questa query
select A.name from types A
inner join article_type B on ( B.type_id = A.id and article_id = 10)
Ora questa ricerca sta lavorando ma dà mi separano le righe ma voglio tutti i tipi in una variabile in modo che io possa visualizzare in forma di tabella, come
Article name ------------types
milk--------------------dairy , persishable , costly
Soluzione
funzione group_concat Usa MySQL :
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
Altri suggerimenti
Se ho capito bene, il trucco è quello di utilizzare CONCAT
, come in SELECT CONCAT(A.name, ',',B.type) AS synth FROM...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow