使用connect by prior 进行递归的多条件问题

AleexKing 2007-10-15 10:02:04
我想使用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;后续的条件都没体现。
请各位看看哪里不对。。。。
...全文
375 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjt_ 2007-10-17
  • 打赏
  • 举报
回复
试了一下要这样写,
connect by (prior E like A) or (prior E like A || ',%') or ...
start with A= 1

prior是用来标出是parent行的字段的。
Croatia 2007-10-17
  • 打赏
  • 举报
回复
有点糊涂了,到底是什么需求呢?
多壮志 2007-10-17
  • 打赏
  • 举报
回复
我以前也想这样,
后来发现这样是不行的.必须分解一下原来的数据,然后在形成的子视图上再实用connect by .
Croatia 2007-10-17
  • 打赏
  • 举报
回复
Connect by prior的同时,使用上instr函数。

是不是要这个?

“列A包含在列E里面,或者A包含在F中”
恐怕通过1查出来的不仅仅是2,3吧。
4。5呢?
AleexKing 2007-10-15
  • 打赏
  • 举报
回复
顶上去问问

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧