是TSQL产品“转置”查询的正确工具

时间:2009-09-25 01:16:51

标签: sql sql-server tsql

我有一项任务需要数据操作才能将行转置为列。数据存储在SQL Server中,典型的关系数据库模型。我知道它可以通过TSQL完成,但它非常复杂,几乎有十个不同的行组可以转换为大约200列。

只是想知道是否还有其他更好的工具可以做到这一点?

4 个答案:

答案 0 :(得分:1)

您必须生成动态SQL才能执行此操作。几天前有人问了类似的事情:

sql-query-to-display-db-data

答案 1 :(得分:0)

如果没有详细的问题,很难说哪种方式最好。但是,您可以使用PIVOT将行转换为TSQL中的列。您可能需要查看它,看看它是否可以满足您的需求。

答案 2 :(得分:0)

您使用的是SQL Server 2005+吗?我有一个stored procedure,可以很容易地像这样转移数据。

这篇文章作为使用它的一个例子:SQL query result monthly arrangement

对于200列,您可能应该将其分解为逻辑组并将透视数据存储在临时表中(存储过程将其作为选项执行) - 然后将临时表连接到最终结果。我已经获得了超过147列PIVOT的结果。

设置源的一些示例可以是found here

答案 3 :(得分:0)

我也会尝试从应用程序中执行此操作,因为这可能比旋转数据更快。但是,你可能需要尝试两种方式才能真正看到在你自己的特定情况下最好的东西。