2016-07-12 21 views
0

私はこのような単一の列を持つテーブルがある:別のテーブルから列名を持つテーブルを作成し、列のデータ

--------- 
| col | 
--------- 
| A | 
| B | 
| C | 
--------- 

私はこのような、次の列名を持つ新しいテーブルを作成したい:

------------------- 
| A | B | C | 
------------------- 

提案がありますか?どうもありがとう。

+0

あなたの質問は不明です。正しい要件で編集してください – MusicLovingIndianGirl

+1

これを実現する方法の1つは動的SQLを使用しています) –

+1

ピボットテーブルを使用する必要があります。http://stackoverflow.com/a/15931734/6468577 – NEER

答えて

3

1つの方法は、動的SQLを使用することです。

サンプルテーブルを作成し、移入(くださいたちセーブであなたの将来の質問では、このステップ):すべての列のデータ型はintと仮定すると、あなたはこのような何かを行うことができます

DECLARE @T table 
(
    col char(1) 
) 

INSERT INTO @T VALUES ('a'), ('b'), ('c') 

は、動的に構築しますSQL:

DECLARE @Sql nvarchar(max) = 'CREATE TABLE YourNewTableName (' 

SELECT @Sql = @Sql + col +' int,' 
FROM @T 


SET @Sql = LEFT(@Sql, LEN(@Sql) - 1) +');' 
--Print @sql 

は(おそらくそれは正しいだことを確認する前に、それを印刷したいと思う)、それを実行します。

EXEC(@Sql) 
+1

Printステートメントが追加されました。 ) –

+0

いいえ、私はまったく気にしません:-) –

+0

それは本当ですが、データは一意です。 – NEER

関連する問題