我有一个包含 100 多列的事务表,每一行都由一id
列唯一标识。对于数据导出要求,我们需要将表格导出为平面 - 也就是id/column_name/column_value
格式。
使用PIVOT
将在这里工作。但是,列的数量是非常动态的。我的意思是:在不久的将来可能会有 10 个额外的专栏。某些列可能会被删除。这是导出为名称/值对的另一个原因。
我检查了这里XML PATH
提到的使用的可能性。
但是,问题是将键/值对关联到初始表的 id。也就是说,最终表应该是这样的(现有模式的 SQL Fiddle 在这里):
select * from finaltable;
idLoop|key|value
38215|DCC_Avg|29.29
38215|DCC_StdDev|0.762
38215|DCC_Count|13.00
..
..
38221|DCC_Avg|0
38221|DCC_StdDev|0
38221|DCC_Count|9.4
等等
非常感谢任何帮助