2016-04-25 7 views
0

からの列に基づいて挿入クエリを作成すると、これが尋ねられても私の実際の質問は実際には検索を使用してクエリすることは非常に困難です。別の表変数

Iは、例えば行が

ID、列、表

2で構成されるように、他のテーブルのIDは、列名とテーブル名をconstains I作成したテーブル変数を有します、ASSETNAME、dbo.Asset

私は今例えばのために、別のテーブル変数にその行で構成されているクエリの結果を挿入したい:

@テーブル2に挿入します.. 'AssetName from dbo.Asset'を選択してください[結果、具体的にはAssetテーブルの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

関連する問題