db2递归查询问题
数据库表如下:area_id area_name area_level parent_id1 辽宁 省级 null2 吉林 省级 null3 黑龙江 省级 null4 沈阳 市级 15 大连 市级 16 鞍山 市级 17 长春 市级 28 延边 市级 29 哈尔滨 市级 310 大庆 市级 311 佳木斯 市级 312 伊春 市级 313 瓦房店 县级 514 普兰店 县级 515 庄河 县级 516 甘井子区 区级 517 砬子山村 村级 16查询的结果如下:area_id area_name area_level root1 辽宁 省级 12 吉林 省级 23 黑龙江 省级 34 沈阳 市级 15 大连 市级 16 鞍山 市级 17 长春 市级 28 延边 市级 29 哈尔滨 市级 310 大庆 市级 311 佳木斯 市级 312 伊春 市级 313 瓦房店 县级 114 普兰店 县级 115 庄河 县级 116 甘井子区 区级 117 砬子山村 村级 1
WITH TMP(ID,NAME,LEVEL,PARENT) AS (SELECT AREA_ID,AREA_NAME,AREA_LEVEL,COALESCE(PARENT_ID,AREA_ID,PARENT_ID) FROM DB2ADMIN.PROVINCECITY WHERE PARENT_ID IS NULL UNION ALL SELECT AREA_ID,AREA_NAME,AREA_LEVEL,PARENT_ID FROM TMP T,DB2ADMIN.PROVINCECITY P WHERE P.PARENT_ID=T.ID ) SELECT * FROM TMP
[解决办法]
兄弟,递归查询多半要用存储过程了,不知道你是哪个数据库?你的表结构说下,还有字段的之间的关系,层级之间的关系。我qq是525364686愿意和你共同讨论下!