2016-10-31 98 views
4

我需要寫條件I.e的分層查詢。如果條件爲真,那麼在通過事先條款進行連接時應使用某些列,如果條件爲假,則應在該條款中包含其他一些列。通過事先條件連接

僞代碼 ...

If col1 is not null then 
    Connect by prior col1=col1 
Else 
    Connect by prior col2=col2 
... 

是這樣的可能在PLSQL?

回答

1

你只需要正確封裝條件:

connect by (col1 is not null and prior col1=col1) 
    or (col1 is null and prior col2=col2) 
4

嘗試CASE EXPRESSION

CONNECT BY PRIOR CASE WHEN col1 IS NOT NULL THEN col1 ELSE col2 END 
       = CASE WHEN col1 IS NOT NULL THEN col1 ELSE col2 END 
+0

i'll再加上一點沒有'prior'你可能會在一個無限藏漢地選擇在這裏? (雖然不太確定) – SomeJavaGuy