我有一张如下所示的表。有一个我正在生成的唯一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