select 职员序号,姓名,上级职员序号  from 你的表

解决方案 »

  1.   

    用CTE递归,可以参考:http://peakplum.blog.163.com/blog/static/1742622712011111644540115/
      

  2.   


    declare @xh int
    set @xh=10
    select 职员序号,姓名,上级职员序号  from 你的表 
    where 上级职员序号=@xh
      

  3.   

    建议楼主列出点测试数据和想要的结果
    这个一般是用with 递归来处理
      

  4.   


    能否贴点数据和表结构出来呢,这样方便直接写sql语句给你
      

  5.   

    cte 递归查询  怎么回事。我怎么没看懂呢。我刚说的应该就是用cte 递归查询 做。但是 我 直接关联和现在这么做取出的值是一样的啊 就是 employ a inner join  employ b on a.id=b.父id 
    我怎么没看明白谁给我在说说
     
    CREATE TABLE EmployeeTree
        (
       ID INT PRIMARY KEY ,
          EmployeeName NVARCHAR(50) ,
          ParentID INT
        )INSERT  INTO EmployeeTree
    VALUES  ( 1,'Wine',  NULL )
     INSERT  INTO EmployeeTree
     VALUES  (  2,'peak', 1 )
      INSERT  INTO EmployeeTree
      VALUES  ( 3, 'Clemens', 2 )
      INSERT  INTO EmployeeTree
      VALUES  (  4,'Malek', 2 )
       INSERT  INTO EmployeeTree
       VALUES  (5, 'Goksin',  4 )
        INSERT  INTO EmployeeTree
        VALUES  ( 7,'Ramesh',  5 )
        INSERT  INTO EmployeeTree
        VALUES  ( 8,'Linda',  5 )
     INSERT  INTO EmployeeTree
     VALUES  ( 6,'Kimberly',  1 )
      INSERT  INTO EmployeeTree
      VALUES  ( 9,'Rechard',  6 ) OK,查询一下,完美的数据--创建递归查询
    WITH    SimpleRecursive ( EmployeeName, ID, ParentID )
              AS ( SELECT   EmployeeName ,
                            ID ,
                            ParentID
                   FROM     EmployeeTree
                   WHERE    ID = 2
                   UNION ALL
                   SELECT   p.EmployeeName ,
                            p.ID ,
                            p.ParentID
                   FROM     EmployeeTree p
                            INNER JOIN SimpleRecursive A ON A.ID = p.ParentID
                 )
        SELECT  sr.ID AS empid ,
                sr.EmployeeName AS Emp ,
                et.EmployeeName AS Boss
        FROM    SimpleRecursive sr
                INNER JOIN EmployeeTree et ON sr.ParentID = et.ID
      

  6.   


    其实就是,先从EmployeeTree查找ID = 2的记录,这条记录相当于是parent记录,然后以这条记录为主,查找有没有哪条记录的parentID是等于,刚才找处理的id=2的记录的 id,如果有,说明这个id就是刚才找出来的记录的下级。于是就这样一层一层往下找。是一种递归的处理方法
      

  7.   

    最后cte递归的结果就是,2个结果集的union all,也就是id = 2的记录,和以id=2为parent,不断找他的下属的记录的集合,2个集合合并后,就是最后的结果