select LPAD(',',(level-1),',')||name||','||org_id
from tiger_org_1226
where status=1
start with org_id  = 4000000
connect by prior org_id =  super_org_id order siblings by super_org_id,org_id;这个语句看起来好象不是一个简单的select语句,不知道是什么意思start with的含义,connect by 的含义 prior的含义,为什么order by中间多了个siblings ,order by 的字段好象也很奇怪~~~对SQL不是很熟悉,请教高人了~~~

解决方案 »

  1.   

    start with ...connect by 是用来查询具有树状层次关系的语句,具体可查询相关资料,order siblings by 语句是同一层次中的字段排序顺序,查询出来的结果仍保持树状结构,去掉siblings则查询出来结果按order by 排序,没有层次关系
      

  2.   

    先谢谢~~~tiger_org_1226 是张表,LPAD(',',(level-1),',')LPAD,level这两个字段
    表里面没有,还有如二楼所说,我只是一张表,这个树状层次关系指什么,order siblings by 语句是同一层次中的字段排序顺序.什么叫同一层次中的字段,是哪一列?能否就我的表的例子说明下,我好理解~~~
      

  3.   

    哈哈 duanzilin(寻)的解释引来更多的问题哈:)
      

  4.   

    LPAD是ORACLE的内置函数 用法请参考SQL REF
    LEVEL就如名字说指明的 数据行所在层别
    同一层就是指同一个LEVEL下的排序