1.
pkg_id child_id child_parent_id
9001 8003 9001
9002 8004 9002
9003 8019 9003
9003 8018 9003
9003 8017 9003
9003 8016 9003
9018 8078 9018
9018 8014 8078
9018 8079 9018
9018 8080 8079
9018 8081 9018
9018 8082 8081
9018 8083 8082
9018 8084 8083得到如下结果,(不能有重复)
*9001
**8003*9002
**8004*9003
**8016
**8017
**8018
**8019*9018
**8078
***8014
**8079
***8080
**8081
***8082
****8083
*****8084
pkg_id child_id child_parent_id
9001 8003 9001
9002 8004 9002
9003 8019 9003
9003 8018 9003
9003 8017 9003
9003 8016 9003
9018 8078 9018
9018 8014 8078
9018 8079 9018
9018 8080 8079
9018 8081 9018
9018 8082 8081
9018 8083 8082
9018 8084 8083得到如下结果,(不能有重复)
*9001
**8003*9002
**8004*9003
**8016
**8017
**8018
**8019*9018
**8078
***8014
**8079
***8080
**8081
***8082
****8083
*****8084
解决方案 »
- 求救两台可以互相ping通的机器 一台机器无法登陆另一台机器的oracle
- PL/sql导入,导出数据
- shutdown abort VS reboot
- 最后30分,全押了,问个oracle记录乱码问题
- oracle10设置首选身份证明出错?
- 利用Sqlplus连接时的口令问题???
- ORACL下如何建表,其他数据库有工具,ORACLE有吗?
- 请oracle高手帮忙一个菜鸟问题!
- oracle里字段为布尔类型怎么办呢?
- 大家知不知道单CPU的企业版和标准版的Oracle 9i、DB2 v7.2和SQL 2000实际可以多少价钱买到??(正版)
- 关于oracle递归查找的问题,在线急等!
- TNS-12518 错误
SQL> desc tt;
Name Type Nullable Default Comments
--------------- ------- -------- ------- --------
PKG_ID CHAR(4) Y
CHILD_ID CHAR(4) Y
CHILD_PARENT_ID CHAR(4) Y
SQL> select * from tt;
PKG_ID CHILD_ID CHILD_PARENT_ID
------ -------- ---------------
9001 8003 9001
9002 8004 9002
9003 8019 9003
9003 8018 9003
9003 8017 9003
9003 8016 9003
9018 8078 9018
9018 8014 8078
9018 8079 9018
9018 8080 8079
9018 8081 9018
9018 8082 8081
9018 8083 8082
9018 8084 8083
14 rows selected
SQL>
SQL> SELECT lpad(child_id, LEVEL + length(child_id), '-')
2 FROM (SELECT *
3 FROM tt
4 UNION ALL
5 SELECT DISTINCT NULL, pkg_id, NULL FROM tt)
6 START WITH child_parent_id IS NULL
7 CONNECT BY PRIOR child_id = child_parent_id
8 ORDER SIBLINGS BY child_id;
LPAD(CHILD_ID,LEVEL+LENGTH(CHI
--------------------------------------------------------------------------------
-9001
--8003
-9002
--8004
-9003
--8016
--8017
--8018
--8019
-9018
--8078
---8014
--8079
---8080
--8081
---8082
----8083
-----8084
18 rows selected
SQL>
FROM (SELECT pkg_id,child_id,child_parent_id
FROM z
UNION ALL
SELECT DISTINCT NULL, pkg_id, NULL FROM z)
START WITH child_parent_id IS NULL
CONNECT BY PRIOR child_id = child_parent_id
ORDER SIBLINGS BY child_id;