我需要用条件I.e编写分层查询。如果条件为真,那么某些列应该在前一个子句的连接中使用,如果它是假的,那么其他一些列应该在该子句中。
伪代码 ...
If col1 is not null then
Connect by prior col1=col1
Else
Connect by prior col2=col2
...
在plsql中是否可以这样?
答案 0 :(得分: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
答案 1 :(得分:1)
您只需要正确封装条件:
connect by (col1 is not null and prior col1=col1)
or (col1 is null and prior col2=col2)