Pregunta

Tengo la tabla

Articles -------- id,name,type_id
Type--------------id,name
article_type ----------article_id , type_id

I utilizando esta consulta

select A.name from types A 
inner join article_type B on ( B.type_id = A.id and article_id = 10)

Ahora esta consulta está trabajando pero me da separo filas pero quiero todo tipo en uno variables, de modo que puedo mostrar en formato de tabla como

Article name ------------types
milk--------------------dairy , persishable , costly
¿Fue útil?

Solución

función GROUP_CONCAT de Uso de 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

Otros consejos

Si he entendido bien, el truco es usar CONCAT, como en SELECT CONCAT(A.name, ',',B.type) AS synth FROM...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top