Hallo zusammen,
in meiner DB gibt es Buchungen und Einschränkungen. Jeder Buchung können beliebig viele Einschränkungen zugewiesen werden und jeder Zuweisung "ja" oder "nein", also z.B. "Buchung B hat die Einschränkung E1 = ja, E2 = nein, E5 = ja"
Jetzt möchte ich in einer Übersicht darstellen, welche Buchung welche Einschränkungen hat. Das Problem hierbei ist, dass nicht jeder Buchung alle Einschränkungen zugewiesen werden. Ich habe also z.B. 6 Einschränkungen und für jede Buchung das Ergebnis
B1 => E1:ja, E3:nein, E6:ja
B2 => E2:nein, E3: ja, E4: ja
Jetzt werden die Einschränkungen in der Tabelle logischerweise falsch angezeigt. Nützlich wäre hier ein Left join. Das Problem ist, dass ich ein GROUP_CONCAT drin habe und ich nicht weiß, wo das bei einem Left Join reinmuss.
momentan habe ich folgendes Statement:
Typ enthält ja/nein. Das replace muss rein, da hier verschiedene Bilder angezeigt werden: 0.gif, 1.gif und 2.gif. Wenn Eine Buchung bei einer Einschränkung ja und nein hat, wird das per GROUP_CONCAT zusammengefasst und das 1;0 für das Bild durch eine 2 ersetzt.
Ich hoffe, ich habe das Problem verständlich beschrieben.
DANKE!
in meiner DB gibt es Buchungen und Einschränkungen. Jeder Buchung können beliebig viele Einschränkungen zugewiesen werden und jeder Zuweisung "ja" oder "nein", also z.B. "Buchung B hat die Einschränkung E1 = ja, E2 = nein, E5 = ja"
Jetzt möchte ich in einer Übersicht darstellen, welche Buchung welche Einschränkungen hat. Das Problem hierbei ist, dass nicht jeder Buchung alle Einschränkungen zugewiesen werden. Ich habe also z.B. 6 Einschränkungen und für jede Buchung das Ergebnis
B1 => E1:ja, E3:nein, E6:ja
B2 => E2:nein, E3: ja, E4: ja
Jetzt werden die Einschränkungen in der Tabelle logischerweise falsch angezeigt. Nützlich wäre hier ein Left join. Das Problem ist, dass ich ein GROUP_CONCAT drin habe und ich nicht weiß, wo das bei einem Left Join reinmuss.
momentan habe ich folgendes Statement:
PHP-Code:
SELECT REPLACE(GROUP_CONCAT(Typ ORDER BY einschraenkungen.Einschraenkung SEPARATOR ';'),'1;0','2')
AS Typ FROM einschraenkungen, einschraenkungen2buchungen
WHERE einschraenkungen2buchungen.id_buchungen = 1 AND
einschraenkungen2buchungen.id_einschraenkungen =
einschraenkungen.id_einschraenkungen GROUP BY
einschraenkungen.id_einschraenkungen
Ich hoffe, ich habe das Problem verständlich beschrieben.
DANKE!
Kommentar