START WITH FATHERID = -1
CONNECT BY PRIOR HR_CODE_ID=FATHERID这个条件有点问题,如果这样写可以吗?
START WITH FATHERID = -1
CONNECT BY PRIOR FATHERID
解决方案 »
- oracle sql developer 打不开表
- 简单Oracle存储过程求救:
- union两个query,能把第二个query结果排序在第一个query吗
- 如果C,D,E三个字段同时为0,则不显示这条数据,我应该如何写这条SQL语句
- 请教各位大神 如何写出sql语句
- java访问oracle的问题
- ORA-03113如何处理
- 请问各位高手,为什么我在NT4.0上装了ORACLE 8I的CLIENT,为什么我在BDE中无法增加使用ORACLE驱动的数据库别名!
- 怎么减少Oracle占用的系统内存,在线等待
- ora 04098 触发器无效且未通过重新验证
- Oracle的菜菜问题,关于基本概念
- 在Oracle 9i中构建管理服务器时出现的错误:hostdef扩展名不存在
zhengg21(很努力):
START WITH FATHERID = -1
CONNECT BY PRIOR FATHERID报无效关系运算符错误,gladness(gladness) :21和31是满足条件的记录,且上面的结果和不加start with connect by的运行结果是一样的,我想也是过滤条件的问题,但要怎样写呢?
各位帮帮小弟!!!!谢谢!谢谢!!非常感谢!
SELECT * FROM HR_CODE
WHERE HR_CODETYPE_ID
IN(SELECT HR_CODETYPE_ID FROM HR_CODETYPE WHERE VALIDSTATUS=1 AND TREESTATUS=-1)
AND VALIDSTATUS=1 AND NO LIKE '%1%'
HR_CODETYPE_ID TREESTATUS VALIDSTATUS
1 -1 1
2 -1 1
3 -1 1
4 0 1
5 0 1HR_CODE表
HR_CODE_ID HR_CODETYPE_ID FATHERID NO VALIDSTATUS
1 1 -1 1 1
2 1 1 11 1
3 1 1 12 1
4 1 1 13 1
5 2 -1 2 1
6 2 5 21 1
7 2 5 22 1
8 2 5 23 1
9 3 -1 3 1
10 3 9 31 1
11 3 9 32 1
12 4 -1 4 1
13 4 -1 41 1
14 5 -1 5 1
15 5 -1 51 1
按上述查询查询的结果为:
1 1 -1 1 1
2 1 1 12 1
3 1 1 13 1
6 2 5 21 1
10 3 9 31 1
怎样才能把21、31的父节点:
5 2 -1 2 1
9 3 -1 3 1
也查出来呢?谢谢!
HR_CODETYPE_ID TREESTATUS VALIDSTATUS
1 -1 1
2 -1 1
3 -1 1
4 -1 1
5 -1 1
6 0 1HR_CODE表
HR_CODE_ID HR_CODETYPE_ID FATHERID NO VALIDSTATUS
1 1 -1 1 1
2 1 1 11 1
3 1 1 12 1
4 1 1 13 1
5 2 -1 2 1
6 2 5 21 1
7 2 5 22 1
8 2 5 23 1
9 3 -1 3 1
10 3 9 31 1
11 3 9 32 1
12 4 -1 4 1
13 4 12 45 1
14 4 12 46 1
15 5 -1 5 1
16 6 -1 6 1
其实HR_CODE表还有许多类似的记录,在这里我就不好一一列举出来
按上述查询查询的结果为:
1 1 -1 1 1
2 1 1 12 1
3 1 1 13 1
6 2 5 21 1
10 3 9 31 1
怎样才能把21、31的父节点:
5 2 -1 2 1
9 3 -1 3 1
也查出来呢?
(SELECT * FROM HR_CODE
WHERE HR_CODETYPE_ID
IN (SELECT HR_CODETYPE_ID FROM HR_CODETYPE WHERE VALIDSTATUS=1 AND TREESTATUS=-1)
AND VALIDSTATUS=1 AND NO LIKE '%1%')
START WITH FATHERID = -1
CONNECT BY PRIOR HR_CODE_ID=FATHERID