表结构如下:
Create XT_GNCD(
XMDH    XMMC    FBDH
100     AA      0
101     AA_1    100
102     AA_2    100
200     BB      0
201     BB_1    200
202     BB_2    200在Oracle中,可以用
select * from xt_gncd
start with xmdh=0 connect by fbdh=prior xmdh
order by xmdh
得到层次结构的记录集但是在SQLserver中不可以用这个语句执行,
不知道在SQLServer中如何对这样的表,选择出层次结构的记录集?不知道大家有没有理解我的问题,大侠们帮忙啊!!!!!

解决方案 »

  1.   

    这种语句不是标准的SQL语句,是Oracle扩展的.像Sql Server中可以用select top 1 from a
    来只取一条记录,但在Oracle中就没有这个top,只有rowID来代替.我意思是说各种数据库除了支持标准的SQL语句外还有自己的扩展语句
    如Oracle的Start with connect by 语句是Oracle只有的.
      

  2.   

    经过研究确实如haoco(程序员) 所是或:是数据库支持的问题。
    其实Order by xndh 后,就已经排序好了。