"rekursiv" mit SQL suchen
- 
					
					
					
					
 Sorry mir ist nix besseres eingefallen! Nehmen wir z.B. folgendes Beispiel: +----+-----------+--------+ | id | name | id_alt | +----+-----------+--------+ | 1 | Stefan | NULL | | 2 | Felix | NULL | | 3 | F3li>< | 2 | F3li>< war früher Felix +----+-----------+--------+Nun gibt es zu jedem Name Kommentare: +--------------+-----------+--------------+ | kommentar_id | id (name) | text | +--------------+-----------+--------------+ | 1 | 3 | i <3 u :) | | 2 | 1 | du bist doof | | 3 | 2 | wer bist du? | +--------------+-----------+--------------+Nun möchte ich alle Kommentare von F3li>< anzeigen lassen, also z.B. so: SELECT kommentare.text FROM namen NATURAL JOIN kommentare WHERE name="F3li><";Nun bekomm ich aber natürlich nur Kommentare von F3li><, aber ich möchte auch die alten (also die von Felix). 
 Kann ich das irgendwie mit einer SQL-Abfrage lösen?
 Oder muss mehrere Querys nehmen bis irgendwann id_alt NULL ist?
 
- 
					
					
					
					
 du kannst sogenannte Wildcards verwenden, je nach verwendetem SQL-Sysntax gibt es da verschiedene % - für kein bis beliebige Anzahl von Zeichen 
 _ - für genau 1 ZeichenSELECT kommentare.text FROM namen NATURAL JOIN kommentare WHERE name="F_li%";[Edit]falls ein genauer Bezug zu id_alt gewünscht ist, probier mal folgendes SELECT c.text FROM (namen a JOIN namen b on (a.id=b.id_alt)) join kommentare c on (c.id=a.id) WHERE a.name="F_li%";
 
- 
					
					
					
					
 Linnea schrieb: [Edit]falls ein genauer Bezug zu id_alt gewünscht ist, probier mal folgendes SELECT c.text FROM (namen a JOIN namen b on (a.id=b.id_alt)) join kommentare c on (c.id=a.id) WHERE a.name="F_li%";Genau das mein ich, aber was wenn da noch ein Nachfolger ist, und noch einer? Geht das nicht dynamisch?