动态数据透视表中的T-SQL更新列

时间:2016-04-08 11:37:18

标签: sql-server tsql dynamic pivot dynamic-sql

我需要在表中执行动态数据透视的更新。因此列和列名称的数量是动态的。真的让我感到困惑,因为我可能需要嵌套的动态SQL,但是我找不到如何使它工作。

到目前为止,我发现了如何创建一个包含所有更新查询的表,但我无法找到如何从表中运行查询。创建包含所有更新查询的表的查询是:

SELECT 
N'UPDATE #Pivot SET [' + t1.a + '] = ''' + t2.b  + ''' WHERE #Pivot.y = ''' + t1.x + '''' AS Query
FROM t1
INNER JOIN t2 
    on t2.v = t1.v

数据透视表中的列标题来自t1.a,因此我使用t1.a来检索列标题。 Pivot.y是数据透视表的非旋转列,也来自t1。

也许这不是最简单的方式,有人知道更好的方法吗?也许这很容易,但我对动态查询很新。在此先感谢您的帮助!

0 个答案:

没有答案