日期:2014-05-17  浏览次数:20691 次

关于树结构的sql查询问题 谢谢啦 十万火急!!!
表名tree ;
表结构:struId(本节点ID), parentId(父节点ID), struName(本节点名称) ;
现有一集合,存的都是叶子节点的ID,
我想通过这个集合查询出来对应的多条记录,
查询出来的记录的格式应为:

  爷爷节点ID ,爷爷节点NAME,父节点ID,父节点NAME,本节点ID(也就是叶子节点ID),叶子节点NAME。

提示:
sql语句格式:select …… six field …… from tree where struId IN (13,12,11); 

要求:
  1.只能用一条sql语句完成查询!
  2.不能用存储过程!!

谢谢啦 真的很着急

------解决方案--------------------
只有oracel 与 db29.0以上版本才有树形查询
select …… six field …… from tree 
start with struId IN (13,12,11)
connect by struId = prior parentId
往上找

------解决方案--------------------
这个问题其实可以改变下数据设计就可以了

比如说三位一级,001是一级节点,001001是二级节点 以此类推

查询的时候只要判断这个字段的长度即可