现在我有一个表  ,表关系是
     ID           组           子组                用户
     01           A组           B组                 
     02           C组           D组
     03           B组           E组
     04           E组                               小强
     05           D组                               小张     现在的关系是 组 里有子组   组子里可能还有子组  ,最后一层是用户
    现在我想根据用户 这个条件  找到 他的最上一层组 。如果用户条件是小强 那么他的最
   上一层组应该是  小强-》E组-B组 -A组      即 A组
     求 SQL文     这个号没份了。解答换号加分

解决方案 »

  1.   

    CREATE TABLE #T(ID CHAR(10),组 CHAR(10),子组 CHAR(10),用户 CHAR(10))
    DECLARE @C CHAR(10)INSERT #T
    SELECT      '01' ,      'A组',  'B组',''    UNION             
    SELECT     '02'  ,      'C组',  'D组',''    UNION
    SELECT     '03'  ,      'B组',  'E组',''    UNION
    SELECT     '04'  ,      'E组',   '', '小强' UNION
    SELECT     '05'  ,      'D组',   '', '小张' SET @C='D组'WHILE EXISTS(SELECT 1 FROM #T WHERE 子组=@C)
    BEGIN
       SELECT @C=组 FROM #T WHERE 子组=@C
    ENDPRINT @C
      

  2.   

    在要求建表什么的
    只要查询  的SQL文