Pour simplifier mon problème : disons que j'ai 3 tables.
Rooms People Things
-------- -------- --------
id| name id | name | fk_rooms id | name | fk_rooms
----------- --------------------- ---------------------
1 | kitchen 1 | John | 1 1 | TV | 2
2 | bedroom 2 | Mary | 2 2 | bed | 2
3 | Andy | 1 3 | sink | 1
4 | Laura| 1
Maintenant, je fais quelque chose comme :
SELECT r.name AS room_name, p.name AS name, t.name AS thing FROM Rooms r
LEFT JOIN People p ON p.fk_rooms = r.id
LEFT JOIN Things t ON t.fk_rooms = r.id
ce qui, dans mon cas, fonctionne parfaitement, à l'exception de quelques-unes qui ont une relation multiple avec la table "Chambres". Ainsi, au lieu d'avoir de nouvelles lignes dans le jeu de résultats contenant les différents noms de "Personnes" et "Objets" en relation avec la table "Pièces", je voudrais recevoir seulement deux lignes :
1. kitchen, John, Andy, Laura, sink
2. bedroom, Mary, TV, bed
A GROUP BY
sur r.id ne sera que select
une ligne de chaque tableau. Toute aide est la bienvenue !