簡體   English   中英

Oracle SQL分層查詢

[英]Oracle SQL Hierarchical Query

我正在嘗試構造一個Oracle sql查詢,因此在具有記錄層次結構的表中僅選擇最新的子記錄。

表中的某些記錄具有對父記錄(parent_id列)的引用,該父記錄是對其ID的引用。 這些兒童記錄可能也有兒童。

我想構造一個查詢,其中僅采用最新的孩子(如果有一個/任何孩子)。 例如

my_table
id  parent_id   name
111 null        'no parent'

222 null        'one child'
333 222

444 null        'two children'
555 444
666 555         

所以期望的結果集是

select id from <query>  
111     
333 
666

謝謝

這可以通過在同一表上使用子查詢來實現。

select a.id 
from my_table a 
where not exists 
    (select 1 
     from my_table b 
     where b.parent_id = a.id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM