SQL Server 2005では、行に基づいてテーブルを動的に作成する必要があります。がクエリから返されました。例えばクエリ結果行からテーブルを作成する
:
SELECT * FROM TableA
次の行を返す
- Forename
- 姓
- DOB
そして、私はそうのように作成されたテーブルが欲しいです:
Forename, Surname, DOB.
この手順はさまざまなソースで使用する予定です。したがって、返される行は毎回異なります。
感謝
SQL Server 2005では、行に基づいてテーブルを動的に作成する必要があります。がクエリから返されました。例えばクエリ結果行からテーブルを作成する
:
SELECT * FROM TableA
次の行を返す
そして、私はそうのように作成されたテーブルが欲しいです:
Forename, Surname, DOB.
この手順はさまざまなソースで使用する予定です。したがって、返される行は毎回異なります。
感謝
私はPIVOT
と一緒にSELECT INTO
を使用します。
参照:
私は今、SQL Serverへのアクセスを持っていないが、私は(上記のリンクに基づいて)このような何かのために行くだろう:
SELECT [0]
INTO TableB
FROM
(SELECT id, colName FROM TableA) AS SourceTable
PIVOT
(AVG(id) FOR colName IN [0]) AS PivotTable;
次のクエリを実行することができ、動的SQL文を作成し、 。列のデータ型定義を持つ別の列をyourtableに置く必要があるかもしれません。
declare @sql nvarchar(max)
select @sql = coalesce(@sql + ',
' + yourcolumn + ' varchar(255)',
yourcolumn + ' varchar(255)')
from yourtable
select @sql = 'create table tableA(' + @sql + ')'
--exec sp_executesql @sql
select @sql
http://msdn.microsoft.com/en-us/library/ms188029.aspx – Eddy