T-SQL Pivot - 以编程方式对所有行进行透视

时间:2013-09-20 08:59:06

标签: sql sql-server-2008 tsql pivot-table

场合

我有一份报告,当客户满意时必须符合某些格式标准,才能将其导出为ex​​cel格式。

问题

此报告是法定回报,必须以特定格式返回。我已经决定使用枢轴可以实现这一点。他们需要一个总计网格,而不是列表视图,如此

enter image description here o ...

这可以通过在一个复杂的大型语句中写出大量的支点来手动完成,但是一旦我转动的列有一个新的条目就会需要更新,这将很频繁。

完美解决方案

完美的解决方案是让某人找到一些神奇的东西,自动转向一列中的所有数据,并以编程方式进行,所以如果将条目添加到该列,它们也将被转动。

我不是在寻找确切的代码,因为这是懒惰的,我不会学到任何东西。如果可能的话,向正确的方向推进会很好。

1 个答案:

答案 0 :(得分:2)

您可以使用动态SQL(Example in this answer)执行此操作。虽然这通常最好通过应用程序/报告层实现,而不是直接在SQL中实现。

在您的情况下,您可以embed reports in Windows Forms Applications,它可以选择仅查看报告或以多种格式导出。如果需要在SQL中完成数据透视,那么动态sql是唯一的方法。