我想创建一个视图,让我拥有一些最年长的人的孙子孙女。问题是我找不到在 sql 中翻译这句话的方法:“谁有一些”。
我只在一张非常基本的桌子上工作:
人:数字(类型编号),姓氏,名字,出生日期,性别,母亲(类型编号),父亲(类型编号)。
这就是我试图做的:
我试图创建一个视图,它给了我最年长的有孙子孙女的人(但这不是这里所做的)
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 行的编号,但我知道事实并非如此。
在此先感谢您的帮助!
克里斯。