使用oracle SQL提取所有因变量

时间:2017-10-10 15:47:34

标签: sql oracle

col1    col2    
V1  NULL    
V2  NULL    
V3  V2,V1   
V4  V3,V5   
V5  NULL    
V6  V3,V7   
V7  NULL    

选择V4时

V4
V3
V5
V2
V1

选择V6时

V6
V3
V7
V2
V1

当用户选择变量时,查询应该能够获取该变量的所有因变量并加载到临时表。如果有办法,请告诉我,我正在使用Oracle 11g。提前致谢

1 个答案:

答案 0 :(得分:1)

呃...以逗号分隔的值。艾德科德在46年前写过关于正常形式的文章,但我们甚至无法获得第一范式。

无论如何:假设你的基表叫做INPUTS,你可以这样做。 :col1是绑定变量,不要忘记先将其赋值。 SQL Developer和Toad会要求您,但在SQL * Plus中,如果不这样做,您将收到错误。

select       col1
from         inputs
connect by   ',' || prior col2 || ','      like      '%,' || col1 || '%,'
start with   col1 = :col1
;