我有一張如下所示的表。有一個我正在生成的唯一ID,另外兩個ID引用其他表(ArgumentIDs和eventID),一個分類類型(eQualType),然後是與eventID和eQualType關聯的值。SQL Server將行轉換爲新表
實際上有20個不同的值列(縮寫爲本示例),絕大多數行只有Value1中的某些值。其他人將在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之前做更好的轉換。
你是什麼意思的「讓桌子轉動」?如何計算基表中包含的值的結果中的「值」列?它看起來像聚合值列並將它們作爲新列添加到結果表中...... –
結果表中的Value1列是基表中的第6行,Value2是第3行等 – Drizzit12
基本上,基表中的行正在轉換爲結果表中的列,並由eventID – Drizzit12