2016-04-25 28 views
0

如果已經提出了這個問題,但是我的實際問題實際上非常難以使用搜索進行查詢,表示道歉。根據來自另一個表變量的列構造插入查詢

我有已經創建其中constains的ID,列名和其他表的表名的表可變的,使得一個例子一行由

ID,列,表

2 ,ASSETNAME,dbo.Asset

我現在要插入到另一個表變量,它是由該行的查詢結果,對於如:

INSERT INTO @表2 .. '從dbo.Asset'選擇AssetName'[結果,特別是資產表中的AssetName列 - 可能是10行數據]

請讓我知道如何最好地處理此問題。

回答

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)。

+0

或者使用在動態sql之前聲明的臨時表。 –

+0

我會注意到你必須在動態SQL代碼中聲明表格變量才能識別它,但無論如何,儘管我在這個領域的無知似乎很明顯。 – notsoobvious

相關問題