group_concat ça fait qu'une seule colonne non ?
ta table IO, elle contient combien de lignes ?
(en fait, tu dis que tu peux pas avoir plus de 6 options par appartement, parcequ'il n'y a que 6 options dans la base, ou si ça n'a rien à voir ?)
Dans tes 6 colonnes, tu veux regrouper les mêmes options dans les mêmes colonnes, ou si tu te moques de leur ordre ?
Toutes ces questions, parceque tu peux faire ça comme requête :
Code :
SELECT * FROM h LEFT OUTER JOIN o1 ON o1.id_h = h.id LEFT OUTER JOIN io1 ON oi1.id = o1.o_id AND io1.id = 'OPT1' LEFT OUTER JOIN o2 ON o2.id_h = h.id LEFT OUTER JOIN io2 ON oi2.id = o2.o_id AND io2.id = 'OPT2' LEFT OUTER JOIN o3 ON o3.id_h = h.id LEFT OUTER JOIN io3 ON oi3.id = o3.o_id AND io3.id = 'OPT3' LEFT OUTER JOIN o4 ON o4.id_h = h.id LEFT OUTER JOIN io4 ON oi4.id = o4.o_id AND io4.id = 'OPT4' LEFT OUTER JOIN o5 ON o5.id_h = h.id LEFT OUTER JOIN io5 ON oi5.id = o5.o_id AND io5.id = 'OPT5' LEFT OUTER JOIN o6 ON o6.id_h = h.id LEFT OUTER JOIN io6 ON oi6.id = o6.o_id AND io6.id = 'OPT6'
|
Evidement, c'est plus chiant à écrire...