次のような表があります。私が生成している一意のID、他のテーブル(ArgumentIDsとeventID)、分類タイプ(eQualType)、そしてeventIDとeQualTypeに関連付けられた値を参照する2つのIDがあります。SQL Serverは新しいテーブルに行を転記します
Value1に何かしかない大部分の行が実際には20個の異なる値列(この例では短縮されています)があります。他の列は16〜20列の数値を持ちます(特定のイベントに関連付けられたすべての行とeQualType 1-5には、同じ数の列が入力されます)。個別の表に以下のようなものに
私はピボットするには、以下の表を取得しようとしています...
UniqueID ArgumentIDs eventID eQualType Value1 Value2 Value3 Value4
1 7 1 4 1 2 3 4
2 10 1 7 23
3 11 1 2 1 2 2 3
4 15 1 3 1 33 2 31
5 8 1 6 8
6 3 1 1 105 106 107 108
7 9 1 5 0 0 0 0
8 12 2 4 1 2 3 4
9 16 2 1 91 92 93 94
10 19 2 2 1 2 2 3
11 17 2 5 0 0 0 0
12 4 2 3 12 3 2 4
は(理想的には、すでにこの形式でデータが含まれているテーブルに挿入されます)。 ArgumentIDは、別の表の中で何も参照しないため、プレースホルダまたは空白でなければならず、eQualTypeは以前のものと一致しない新しい値でなければなりません。
UniqueID ArgumentIDs eventID eQualType Value1 Value2 Value3 Value4 Value5
1 x 1 999 105 1 1 1 0
2 x 1 999 106 2 33 2 0
3 x 1 999 107 2 2 3 0
4 x 1 999 108 3 31 4 0
5 8 1 6 8
これが可能かどうか、またはSQLにロードする前に変換として行う方が良いかどうかはわかりません。
「ピボットテーブルを取得する」という正確な意味はありますか?どのようにして、基本表に含まれる値から結果の 'Value'列を計算しますか?値列を集計し、結果表に新しい列として追加します。 –
結果表のValue1列は、基本表の行6、Value2は行3などです。 – Drizzit12
基本的には、結果テーブルの列に転記され、イベントIDによってまとめられます – Drizzit12