0

次のソース データがあります (データは、数百行のソースの抽出です)。

ID  CodeID  Code
3749    69  354
3750    69  864
33721  130  XXX
33722  130  319
30446  159  XXX
30447  159  XXX

T-SQLを使用して、次のことを達成する必要があります。

CodeID  Code1   Code2
69      354     864
130     XXX     319
159     XXX     XXX

これはピボット テーブルの構造に合わないようで、これを実現する方法がわかりません。誰にも提案はありますか。

4

1 に答える 1

5

pivot最初に使用して各値に数値を割り当てると、でそれを行うことができますrow_number()

select codeid, [1] as Code1,[2] as Code2 -- .... ,[3] etc
from
( 
    select codeid, code, ROW_NUMBER() over (partition by codeid order by id) rn
    from yourtable
) p
pivot (max(code) for rn in ([1],[2])) p2 --, [3]... etc
于 2013-10-07T14:19:19.250 に答える