Hallo,
ich habe eine Tabelle mit Kontakten (Personendaten) und eine mit Telefonnummern und Adressen. Wenn ich eine Abfrage mache, dann kann ich bei nur einer Beziehung mittels Group_Concat() die Beziehungen zusammenführen:
[highlight=sql]select k.name, k.vorname, GROUP_CONCAT(t.telnummer SEPARATOR ', ') from kontakte k
left join kontakte_telefone_link tl on (k.id = tl.kontakte_id)
left join telefone t on (t.id = tl.telefone_id) group by k.name, k.vorname;[/highlight]
Ergebnis-Beispiel:
Bei einer weiteren Beziehung:
[highlight=sql]select k.name, k.vorname, GROUP_CONCAT(t.telnummer SEPARATOR ', '), GROUP_CONCAT(a.stadt SEPARATOR ', ') from kontakte k
left join kontakte_telefone_link tl on (k.id = tl.kontakte_id)
left join telefone t on (t.id = tl.telefone_id)
left join kontakte_adressen_link al on (k.id = al.kontakte_id)
left join Adressen a on (a.id = al.adressen_id) group by k.name, k.vorname;[/highlight]
Ergebnis-Beispiel:
Gewünschtes Ergebnis wäre:
Ist das überhaupt möglich, dass die DB intern bei mehreren Beziehungen, diese so zusammenführen und gruppieren kann?
Gruß,
kk
ich habe eine Tabelle mit Kontakten (Personendaten) und eine mit Telefonnummern und Adressen. Wenn ich eine Abfrage mache, dann kann ich bei nur einer Beziehung mittels Group_Concat() die Beziehungen zusammenführen:
[highlight=sql]select k.name, k.vorname, GROUP_CONCAT(t.telnummer SEPARATOR ', ') from kontakte k
left join kontakte_telefone_link tl on (k.id = tl.kontakte_id)
left join telefone t on (t.id = tl.telefone_id) group by k.name, k.vorname;[/highlight]
Ergebnis-Beispiel:
Mustermann | Hans | 08151234, 47110987 |
Musterfrau | Erna | 1234567, 9876541 |
Bei einer weiteren Beziehung:
[highlight=sql]select k.name, k.vorname, GROUP_CONCAT(t.telnummer SEPARATOR ', '), GROUP_CONCAT(a.stadt SEPARATOR ', ') from kontakte k
left join kontakte_telefone_link tl on (k.id = tl.kontakte_id)
left join telefone t on (t.id = tl.telefone_id)
left join kontakte_adressen_link al on (k.id = al.kontakte_id)
left join Adressen a on (a.id = al.adressen_id) group by k.name, k.vorname;[/highlight]
Ergebnis-Beispiel:
Mustermann | Hans | 08151234, 47110987, 08151234, 47110987 | Rübenstadt 1, Rübenstadt 1, Rübenstadt 2, Rübenstadt 2 |
Musterfrau | Erna | 1234567, 9876541, 1234567, 9876541 | Musterhausen 1, Musterhausen 1, Musterhausen 2, Musterhausen 2 |
Gewünschtes Ergebnis wäre:
Mustermann | Hans | 08151234, 47110987 | Rübenstadt 1, Rübenstadt 2 |
Musterfrau | Erna | 1234567, 9876541 | Musterhausen 1, Musterhausen 2 |
Ist das überhaupt möglich, dass die DB intern bei mehreren Beziehungen, diese so zusammenführen und gruppieren kann?
Gruß,
kk
Comment