Ich habe einen Baum in meiner Datenbank, die mit Eltern-ID-Links gespeichert ist.SQL Finden Sie alle direkten Nachkommen in einem Baum
Eine Probe von dem, was ich für Daten in der Tabelle haben, ist:
id | name | parent id ---+-------------+----------- 0 | root | NULL 1 | Node 1 | 0 2 | Node 2 | 0 3 | Node 1.1 | 1 4 | Node 1.1.1| 3 5 | Node 1.1.2| 3
Nun möchte ich eine Liste aller direkten Nachkommen eines gegebenen Knotens zu bekommen, aber wenn keine vorhanden Ich habe möchte Es gibt nur den Knoten selbst zurück.
möchte ich die Rückkehr für die Abfrage für Kinder von id = 3 sein:
children -------- 4 5
Dann wird die Abfrage für die Kinder von id = 4 sein:
children -------- 4
Ich kann ändern die Art, wie ich den Baum in einem verschachtelten Satz ablege, aber ich sehe nicht, wie das die Anfrage möglich machen würde.
Ich weiß, wie dies mit Cursors oder CTEs tun, aber das ist SQL Server. – TheTXI