vendredi 8 juillet 2016

CTE with Pivot Table

I am having a table : TblMemberPosition

Running a sql code -

    with cte(MemberID, SponserID, Level)
    as 
   (
     select MemberID, SponserID,1 as Level from TblMemberPosition
     where MemberID = 10021
       union all
      select a.MemberID,a.SponserID,Level + 1 from TblMemberPosition
       as a inner join cte as b on b.MemberID = a.SponserID  
     ) 
    select (count (MemberID)) as MemberCount,Level From cte
     where Level <=8
    Group by Level 
   order by Level

Result of above query:

MemberCount Level
1   1
1   2
3   3
1   4
2   5
1   6
1   7
2   8

But I want output Like -

MemberID    Level1   Level 2    Level 3  Level 4 .... Level upto 9
10021        1         1          3        1

This code is generating for single MemberId. Can you help to generate this structure for all members.

Aucun commentaire:

Enregistrer un commentaire