Kalle_B: rekursive DB-Abfrage - wie?

Beitrag lesen

Hallöle,

es gibt Organisationen, die mehrere Ebenen haben, z.B.

  • Deutscher Chorverband
  • Hessischer Sängerbund
  • Sängerkreis XYZ (Kreisebene)
  • Verein (kann mahrere Chöre haben)
  • Chor

Wenn nun ein Chor eine Veranstaltung eingibt, soll die bei allen übergeordneten Ebenen auch zu sehen sein. Das heisst, wenn ich ich Termine für den Chorverband anzeige, sollen alle Termine der untergeordneten Ebenen enthalten sein.

Ich suche eine DB-Abfrage für n Ebenen.

Ich kann eine DB-Tabelle anlegen in der Form

  • Chor C1 gehört zu Verein V1
  • Verein V1 gehört zu Kreis K1,
  • Kreis K1 gehört zu Land L1
  • Land L1 gehört zum Bund.

Dann kann ich aus der Sicht einer Ebene die "Enkel" so finden:

SELECT
 gru1.*
,gru2.*
FROM      gruppentabelle gru1
LEFT JOIN gruppentabelle gru2
ON        gru2.id = gru1.sohn_id
LEFT JOIN gruppentabelle gru3
ON        gru3.id = gru2.sohn_id
WHERE     gru1.id = bund_id

The LEFT JOIN gestattet nun drei Ebenen zu finden. Aber was wäre mit sechs Ebenen? Gibt es bei Datenbankabfragen Rekursion?

Lieben Gruß, Kalle