在Oracle 10g中,我有以下分級表:獲取父數據,如果子數據是Oracle階層表空
corp_id, parent_corp_id, col1, col2, col3
我想變平的結構,使得我們得到的第一行的數據,其中COL1 OR col2或col3不爲空。
因此,舉例來說,假設我有:
corp_id = 1
parent_corp_id = null
col1 = 5
col2 = NULL
col3 = NULL
corp_id = 3
parent_corp_id = 1
col1 = NULL
col2 = NULL
col3 = NULL
此查詢的結果會給我:
corp_id, parent_corp_id, col1, col2, col3
3 , 1 , 5 , NULL, NULL
另一種情形: 假設我把COL2 = 6,其中corp_id = 3
那麼,結果集應該是:
corp_id, parent_corp_id, col1, col2, col3
3 , 1 , NULL, 6, NULL
換句話說,如果孩子在這三列中有一列有數據,我們就抓住它。否則,我們嘗試父母等,等等。不應該超過3個級別,但可以有3個級別進行研究。
對分層查詢來說很新,所以如果這是一個基本問題,請原諒我。
這對我不起作用我很害怕,我需要一個分層查詢,因爲我不知道有多少層次需要去找,直到找到一個值... – mlnyc 2014-09-20 14:39:49
@mlnyc is there an上限的水平? – Bohemian 2014-09-20 15:53:14