次のようなテーブル構造があります。
CREATE TABLE #temp
(
period_id INTEGER ,
lease_id INTEGER ,
charge_id VARCHAR(20) ,
charge_amount MONEY
)
INSERT INTO #temp
( period_id ,
lease_id ,
charge_id ,
charge_amount
)
VALUES ( 100 , -- period_id - integer
2000 , -- lease_id - integer
'300' , -- charge_id - varchar(20)
12345 -- charge_amount - money
) ,
( 101 , -- period_id - integer
2000 , -- lease_id - integer
'300' , -- charge_id - varchar(20)
678910 -- charge_amount - money
) ,
( 101 , -- period_id - integer
2002 , -- lease_id - integer
'300' , -- charge_id - varchar(20)
78950 -- charge_amount - money
) ,
( 101 , -- period_id - integer
2002 , -- lease_id - integer
'310' , -- charge_id - varchar(20)
9002 -- charge_amount - money
)
次のような出力が必要です。
一連の cte を作成し、常にソース テーブルを参照することでそこにたどり着くことができると確信していますが、これらの請求コードがたくさんあり、新しいコードが追加されることが予想されるため、ここではそれが優れたソリューションではないと思います。将来 (そして、これが発生するたびにクエリを更新する必要があるのはひどい習慣です)。ピボット機能を調べましたが、使い方がわかりません。このシナリオでの適用方法を理解したいので、これを武器庫に追加できます。