2010-10-27 6 views
1

J'ai 2 tables comme celui-cijoindre mysql requête

Table 1 

id name 
1 ABC 
2 DEF 
3 GEF 


Table 2 
name meal 
ABC m1 
ABC m2 
GEF m1 

Table 3 
meal detail 
m1 mutton 
m2 beaf 

Comment puis-je obtenir une sortie comme ça?

Id name meal_detail 
1 ABC mutton,beaf 
2 DEF 
3 GEF mutton 

Merci à l'avance

Répondre

3
SELECT t1.id, 
      t1.`name`, 
      GROUP_CONCAT(t3.detail) AS `meal_detail` 
    FROM t1 
LEFT JOIN t2 ON t2.`name` = t1.`name` 
LEFT JOIN t3 ON t3.meal = t2.meal 
GROUP BY t1.`name` 
+0

+1: Je pensais que j'allais devoir formater pour vous: p –

+0

@OMG Ponies: nah, maintenant je suivre votre style de formatage partout ;-) Juste triché avec la sauvegarde correcte mais pas formaté requête pour attraper la première réponse ;-P – zerkms

+0

@EarnWhileLearn: chance moi ;-) – zerkms