使用connect   by   prior   进行递归的多条件问题
我想使用connect   by   prior   进行一个递归查询,但是递归的条件多出了一个,比如说,表S:
A   B   C   D      E    F
1   11  111 1111  2,3   4,5
2   22  222 2222  4
3   33  333 3333  5
4
5
我想通过1查出2,和3,列A包含在列E里面,或者A包含在F中,A~F列都是字符串。。。。。
我使用了
select * from S connect by prior E like A or E like A||',%'  
or E like '%,'||A or E like '%,'||A||',%' or F like A or F like A||',%'  
or F like '%,'||A or F like '%,'||A||',%' start with A= 1
结果是不行。。。好像就是认了第一个条件E like A;后续的条件都没体现。
请各位看看哪里不对。。。。
------解决方案--------------------Connect by prior的同时,使用上instr函数。
是不是要这个?
“列A包含在列E里面,或者A包含在F中”
恐怕通过1查出来的不仅仅是2,3吧。
4。5呢?
------解决方案--------------------我以前也想这样,
后来发现这样是不行的.必须分解一下原来的数据,然后在形成的子视图上再实用connect by .
------解决方案--------------------有点糊涂了,到底是什么需求呢?
------解决方案--------------------试了一下要这样写,
connect by (prior E like A) or (prior E like A || ',%') or ...  
start with A= 1  
prior是用来标出是parent行的字段的。