Я хочу создать представление, которое даст мне внуков самого старого человека, у которого есть некоторые. И проблема в том, что я не могу найти способ перевести в sql фразу: «у кого есть некоторые».Oracle SQL: генерации дерева деревьев с использованием деревьев
Я работаю только один стол, который является довольно простым:
лицо: номер (номер типа), имя, фамилия, DateOfBirth, пол, мать (номер типа), отец (номер типа).
Это то, что я пытался сделать:
Я попытался создать вид, который дает мне самый старый человек, который имеет grandchildrens (но это не то, что делается здесь)
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);
И номер первого взгляда я могу получить внуков:
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;
проблема в том, я знаю, что я не перевод: внуки старейшего человека у кого есть. Поскольку в моем первом представлении, когда я написал number = number, я хочу ссылаться на номер моей строки предложения select 3, но я знаю, что это не так.
Заранее благодарю вас за помощь ребятам!
Chris.