2011-08-15 9 views
0

SQL Server 2005では、行に基づいてテーブルを動的に作成する必要があります。がクエリから返されました。例えばクエリ結果行からテーブルを作成する

SELECT * FROM TableA 

次の行を返す

  1. Forename
  2. DOB

そして、私はそうのように作成されたテーブルが欲しいです:

Forename, Surname, DOB. 

この手順はさまざまなソースで使用する予定です。したがって、返される行は毎回異なります。

感謝

+0

http://msdn.microsoft.com/en-us/library/ms188029.aspx – Eddy

答えて

0

私は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; 
+0

これが行からテーブルを作成していないが返され、手動でSELECT INTOクエリを作成するために私を必要とします。 – chut319

+0

私は右の質問を読んでいない、申し訳ありません。今すぐ役立つと思っています(更新されました)。 – pkk

+0

ありがとう、pkk。私は簡単な話の記事の指示に従って、それは治療を働いた。 – chut319

0

次のクエリを実行することができ、動的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 
関連する問題