と私はテーブルを持っています:SQLコードを実行TblMemberPosition
CTEは、ピボットテーブル
- 上記のクエリの
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
結果:
MemberCount Level
1 1
1 2
3 3
1 4
2 5
1 6
1 7
2 8
をしかし、私はしたいです出力Like-
MemberID Level1 Level 2 Level 3 Level 4 .... Level upto 9
10021 1 1 3 1
このコードは、単一のMemberIdに対して生成されています。すべてのメンバーにこの構造を生成させるのに役立つことができますか?