根据另一个表变量中的列构造插入查询

时间:2016-04-25 13:41:02

标签: sql-server tsql

如果有人问过这个问题,我很抱歉,但我的实际问题实际上很难通过搜索来查询。

我有一个我创建的表变量,它保存其他表的ID,列名和表名,以便示例行包含

ID,列,表

2,AssetName,dbo.Asset

我现在希望在另一个表变量中插入由该行组成的查询结果,例如:

插入@ table2 .. '从dbo中选择AssetName.Asset' [结果,特别是Asset表中的AssetName列 - 可能是10行数据]

请让我知道如何最好地解决这个问题。

1 个答案:

答案 0 :(得分:1)

你必须动态地这样做。例如,像(未经测试):

DECLARE @SQL NVARCHAR(MAX)

SELECT @SQL = N'INSERT INTO @Table2 SELECT ' + QUOTENAME(Column) + N' FROM ' + QUOTENAME(Table)
FROM   @Table1

EXEC sp_executesql @SQL

我不完全确定你是否需要一个全局表变量(@@Table2)。