Ich möchte eine Ansicht erstellen, die mir die Enkel der ältesten Person gibt, die einige hat. Und das Problem ist, dass ich keinen Weg finden kann, in SQL die Phrase zu übersetzen: "Wer hat welche".Oracle SQL: Stammbaumansichten mit Bäumen
ich nur in einer Tabelle arbeiten, der ist ziemlich einfach:
Person: Nummer (Typennummer), Nachname, Vorname, dateOfBirth, Geschlecht, Mutter (Typnummer), Vater (Typnummer).
Dies ist, was ich zu tun versucht:
Ich habe versucht, eine Ansicht zu erstellen, die mir die älteste Person, die Enkelkinder hat gibt (aber das ist nicht das, was hier geschehen ist)
CREATE OR REPLACE
VIEW oldestone
AS SELECT number FROM persons
WHERE (sysdate-dateofbirth)/365 >= ALL
(SELECT (sysdate-dateofbirth)/365 FROM persons)
AND EXISTS (SELECT * FROM persons
WHERE level=3
START WITH number = number
CONNECT BY PRIOR number = father OR PRIOR numero = mother);
Und mit die Anzahl der ersten Blick kann ich die Enkel bekommen:
CREATE OR REPLACE
VIEW grandchildren
AS SELECT firstname,lastname FROM persons
WHERE level=3
START WITH number = (SELECT number FROM oldestone)
CONNECT BY PRIOR number = father OR PRIOR number = mother;
das Problem ist, ich weiß, ich bin nicht zu übersetzen: die Enkel der ältesten Person wer hat einige. Weil ich in meiner ersten Ansicht, wenn ich Nummer = Nummer geschrieben habe, möchte ich auf die Nummer meiner Select-Klausel Zeile 3 verweisen, aber ich weiß, dass es nicht der Fall ist.
Vielen Dank im Voraus für Sie Hilfe Jungs!
Chris.