Offenbar ein JOIN-Problem

Foolish Freak

Grünschnabel
:confused:

Hallo zusammen!

Ich bin zwar noch neu hier, aber wie ihr sicher selbst wisst, befreit das keinesfalls von Problemen...

Folgender Sachverhalt (Bsp.):

Ich habe 3 Tabellen - "Tiere", "Katzen, "Hunde". Dabei sollen "Katzen" und "Hunde" Listen enthalten. "Tiere" führt als Zeilen die beiden anderen Tabellen auf. Von "Tiere" besteht jeweils eine 1:n Beziehung zu den anderen Tabellen.

Mein Ziel besteht darin, eine Ausgabe in folgender Form zu bekommen:

Katzen

- Perser
- Hauskatze
- ...

Hunde

- Dogge
- Schäferhund
- ...

Die Bezeichnungen "Katzen" und "Hunde" sollten dabei nicht mehrfach auftauchen.

Bislang schaffe ich es nur, mir "Katzen" ausgeben zu lassen, wobei für jede erfaßte Art die Gruppenbezeichnung vorangestellt wird...

Das Beispiel läßt sich fortsetzen für jede Art von Datenverknüpfung. Doch sämtliche Literatur, die ich bis dato entdeckt habe, schildert nur eine Verknüpfung zwischen 2 Tabellen in obiger Form (das offenbar alt bekannte Beispiel vom Autor mit mehreren Büchern bei 2 Verlagen). Für komplexere Fälle wird einfach "so funktioniert das auch für mehrere Tabellen. Darin liegt gerade die Stärke relationaler DB's" geschrieben!?

Ist das Problem vielleicht sogar zu simpel?

Ciao,

Foolish Freak
 
Ist das Problem vielleicht sogar zu simpel?

jein

man kan die joins hintereinander ausführen:

select * from tiere left join katze on tier.art=katze.art left join hunde ...... usw ...

er arbeitet einfach von links nach rechts
((( a join b ) join c ) join d)
 
Zuletzt bearbeitet:
Hallo zusammen!

Herzlichen Dank für den Tipp. Und gleichwohl man sich über den Schwierigkeitsgrad meiner Frage mag streiten können: mir hat die Antwort geholfen.

Manchmal steht man eben auf'm Schlauch...

Davon abgesehen scheint ein Teil meines Problems ursächlich nicht in MySQL sondern bei der Schleifenkonstruktion in PHP zu liegen...

;)

Foolish Freak
 

Neue Beiträge

Zurück