SELECT * FROM Memu ORDER BY CASE WHEN PMenuID = 0 THEN MenuNO ELSE PMenuID END, MenuNO

解决方案 »

  1.   

    select * from Memu order by PMenuID
      

  2.   

    select menuid,menuname=case when menuname is null then '   '+menuname1 else menuname end,pmenuid
    from
    (
    select menuid,menuname,menuname1=null,pmenuid from aa a1 where pmenuid=0
    union
    select menuid,menuname=null,menuname1=menuname,pmenuid from aa a1 where pmenuid<>0
    ) ssss
      

  3.   

    select menuid,menuname=case when menuname='' then '    '+menuname1 else menuname end ,pmenuid
    from
    (
    select menuid,menuname=case when pmenuid=0 then menuname else '' end ,menuname1=case when pmenuid=0 then '' else menuname end,pmenuid
     from aa a2
    ) dd