使用SQL语句查询形成环路的关系数据
2012-10-25 22:28
661 查看
数据如下:
![](http://img.my.csdn.net/uploads/201210/25/1351175063_2384.PNG)
若使用递归查询则可能导致SQL执行异常,需要查找并删除这条bug数据。
结果:
-------------------
-------------------
若使用递归查询则可能导致SQL执行异常,需要查找并删除这条bug数据。
WITH ROOT_NODE ( parent) AS (SELECT parent FROM TABLE1 WHERE parent LIKE 'grandpa' || '%'), --若已知大概范围 FIND_CALL_RST ( SVC, parent, child, CALL_LEVEL, VAL) AS (SELECT parent AS SVC, parent, child, 1 AS CALL_LEVEL, CAST ( parent || '->' || child AS VARCHAR (1000)) VAL FROM TABLE1 WHERE parent IN (SELECT parent FROM ROOT_NODE) UNION ALL SELECT VT.SVC, T.parent, T.child, VT.CALL_LEVEL + 1, VT.VAL || '->' || T.child AS VAL FROM FIND_CALL_RST VT, TABLE1 T WHERE T.parent = VT.child AND CALL_LEVEL < 20) SELECT CALL_LEVEL, A.VAL FROM FIND_CALL_RST A WHERE A.CALL_LEVEL > 19
结果:
-------------------
20 | grandpa->father->son->grandchild->grandpa->father->son->grandchild->grandpa->father->son->grandchild->grandpa->father->son->grandchild->grandpa->father->son->grandchild->grandpa |
相关文章推荐
- 使用一个T-SQL语句批量查询数据表占用空间及其行数
- 使用sql语句查询日期在一周内的数据
- 使用SQL语句对重复记录查询、统计重复次数、删除重复数据
- T-SQL操作语句之数据查询(二):查询中使用函数
- 营配数据质量核查,关于营销mis系统与配电gis系统里面的sql语句查询,做为积累使用,下次就不用重复写同样的语句了。
- sparkSQL里 sql语句,dataframe,Thrift Server JDBC都可以实现对数据的查询,过滤等操作, 哪这3种情况分别是什么情况下使用
- 怎么使用robomongo查询mongodb(就像用plsql,输入sql语句,查询oracle数据一样)?
- 使用一个T-SQL语句批量查询数据表占用空间及其行数
- excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)
- 使用sql 语句查询当月/当天/当周的数据
- Excel 中使用SQL 语句查询数据(五)
- 使用SQL语句对重复记录查询、统计重复次数、删除重复数据
- 使用sql语句查询日期在一周内的数据
- Excel 中使用SQL 语句查询数据(二)
- oracle12c JSON数据 使用SQL语句实现多表左外连接 显示无效数据 分页查询
- 使用一个T-SQL语句批量查询数据表占用空间及其行数
- 使用一个T-SQL语句批量查询数据表占用空间及其行数
- 数据库中使用SQL语句查询当天数据记录
- Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用
- 直接使用sql语句查询数据库数据