2010-08-25 15 views
0

J'ai la tableComment obtenir plusieurs colonnes dans une variable dans la requête MySQL

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

J'utilisant cette requête

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

Maintenant cette requête fonctionne, mais il me donne des lignes séparées, mais je veux tous les types de variables dans une sorte que je puisse afficher sous forme de tableau comme

Article name ------------types 
milk--------------------dairy , persishable , costly 

Répondre

3

Utilisez GROUP_CONCAT function 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 
0

Si je comprends bien, l'astuce consiste à utiliser CONCAT, comme dans SELECT CONCAT(A.name, ',',B.type) AS synth FROM...