用大量的列拼合表

时间:2013-06-07 08:47:04

标签: xml sql-server-2008 transpose cross-apply

我有一个包含100多列的事务表,每行由id列唯一标识。对于数据导出要求,我们需要将表格导出为平面 - 又称id/column_name/column_value格式。

使用PIVOT可以在此处使用。但是,列数是非常动态的。我的意思是:在不久的将来可能会增加10个列。某些列可能会被删除。这是导出为名称/值对的另一个原因。

我检查了使用here中提到的XML PATH的可能性。

但是,问题是将键/值对与初始表的id相关联。也就是说,最终表应该如下所示(现有模式的SQL小提琴是here):

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

非常感谢任何帮助

0 个答案:

没有答案