我想使用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;后续的条件都没体现。
请各位看看哪里不对。
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;后续的条件都没体现。
请各位看看哪里不对。
解决方案 »
- oracel存储过程:如何在for循环中引用参数。
- navicat 连接oracle 出现ora-28547
- 为什么这样写左连接不对?
- 求教数据量非常大的数据库设计问题!
- 高分求其实现方法!值得一看!
- oracle 存储过程怎么样返回多个值,如一个boolean类型和一个数据集?
- 含泪求助!!!!!!!
- 在oracle中的存储过程或函数使用事务处理的问题???
- 在视图中可以使用if控制语句吗,如果能如何使用?
- 如何实现在oracle一个数据库中实时的从另一个数据库的一张表中取得其新增数据,并插入
- oracle 用group by 按日期统计 为什么只有一组数据
- sqlplus 导入 Sql文件中 如果数据中有&字符怎么转意?
恐怕通过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行的字段的。