0
私は、クエリ内のデータを旋回するようにしようとしている(SQL Server 2008のR2)と私は唯一の2列が旋回し必要がありますが、ピボット後に最大20個の列があるかもしれません。SQLのピボット機能
pid DiagnosisCode
111 145.9
111 17.43
111 17.84
111 196.2
111 202.81
112 204.21
112 249.71
112 263.8
112 145.9
113 269.8
113 276.7
私はこのようなルックスを取得しようとしている出力:ここまでの5つの診断コードと私のテストデータである
pid | code1 | code2 | code3 | code4 | code5 | code6 | code... | code20
----------------------------------------------------------------------------
111 145.9 17.43 17.84 196.2 202.81 NULL NULL NULL
112 204.21 249.71 263.8 145.9 NULL NULL NULL NULL
113 269.8 276.7 NULL NULL NULL NULL NULL NULL
私が持っているコードは次のとおりです。
select pid, DiagnosisCode
from
(select pid, DiagnosisCode, row_number() over(partition by pid order by pid)
as seq
from #temp
) as src
pivot
(min(DiagnosisCode)
for seq
in (DiagnosisCode)) pvt
何らかの理由で、この関数は私にはクリックされていません。MIN()集計関数が必要ですが、私の出力には必要ありません。 ROW_NUMBER()行を追加して、1つの投稿を読み込んだ後にシーケンスフィールドがあるようにしましたが、なぜその必要性がわかりません。私はここと他のサイトで、他のすべてのPivotの記事を読んできました。私はこれがこのサイトで何度も過ぎ去ってきたことは知っていますが、これをうまく動作させるために質問に必要なことを理解するのを助けることができたら、感謝します。
ありがとうございます。私は実際にFoxproのバックグラウンドから来たので、私は何かを理解していないときに元に戻すものを推測します。 – Tmartin