0
我試圖在我的查詢中轉換數據(SQL Server 2008 R2),並且我只需要旋轉2列,但在旋轉後最多可能有20列。這是我與多達5個診斷代碼的測試數據:用於醫療保健診斷代碼的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
輸出,我試圖讓這個樣子的:
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()行,所以在閱讀一篇文章後會出現一個序列字段,但我不確定它爲什麼需要。我一直在閱讀這裏和其他網站上的所有其他Pivot帖子。我知道這個網站已經有很多次了,但是如果你能幫助我理解我的查詢需要什麼來使其發揮作用,我將不勝感激。
謝謝。我實際上來自Foxpro背景,所以我猜它是當我不明白某些東西時我回復的內容。 – Tmartin