首先,您的查询无效。where 子句出现在连接之后:
SELECT *
FROM TABLE A
JOIN TABLE B ON TABLE A.parent_row = TABLE B.row_id
JOIN TABLE C ON TABLE B.parent_row = TABLE C.row_id
WHERE CREATED_DATE = sysdate;
其次,您没有按您显然已经拥有的孙子进行过滤。在这个查询中,我使用YOUR_ID
变量来表示它:
SELECT *
FROM TABLE A
JOIN TABLE B ON TABLE A.parent_row = TABLE B.row_id
JOIN TABLE C ON TABLE B.parent_row = TABLE C.row_id
WHERE
CREATED_DATE = sysdate
AND TABLE A.row_id = YOUR_ID;
第三,现在我们检索了祖父母(表 C.row_id),我们可以按照相同的逻辑再次加入表 B(BB)和 A(AA)以获取所有孙子:
SELECT TABLE AA.row_id /* ids of all grand children. YOUR_ID should be included */
FROM TABLE A
JOIN TABLE B ON TABLE A.parent_row = TABLE B.row_id
JOIN TABLE C ON TABLE B.parent_row = TABLE C.row_id
/* join over on table B then table A to get all grand children */
JOIN TABLE BB ON TABLE BB.parent_row = TABLE C.row_id
JOIN TABLE AA ON TABLE AA.parent_row = TABLE BB.row_id
WHERE
CREATED_DATE = sysdate
AND TABLE A.row_id = YOUR_ID;