象这样的sqlselect * from table
connect by prior 
start with

解决方案 »

  1.   

    id name upid 
    1  小王 0
    2  小黄 1
    3  小林 2
    4  小工 3
    5  小郑 3如现在要查询id=2的所有下级记录(结果应当如下),sql要什么写
    3  小林 2
    4  小工 3
    5  小郑 3
      

  2.   

    SELECT * FROM table_name WHERE id>2
      

  3.   

    没有太好的办法.
    要么一个SELECT执行完后.再执行一个 SELECT .要么用下面这条语句,然后再程序处理结果集SELECT * FROM #t tA
    LEFT JOIN #t tB ON tA.id = tB.upid 
    LEFT JOIN #t tC ON tB.id = tC.upid
    LEFT JOIN #t tD ON tC.id = tD.upid
    WHERE tA.id = 2 (注,上面的语句只显示四层.如果要显示更多层.需再添加 LEFT JOIN 子句)