質問
私のテーブルには、次の列があります:
A | B | C | D | E | F
私は次のように表示されますこれにしたい:
MyColumn | MyColumn2
A | B
C | D
E | F
あなたが見ることができるように私は、カスタムの列名を持つペアとして列を表示します。ペアは、列AとB、列CおよびD及びカラムCおよびDである。
解決
select A as [Col 1], B as [Col 2] from table
union all
select C,D from table
union all
select E,F from table
他のヒント
私が正しくあなたを理解していた場合は、労働組合でこれを行うことができます:
SELECT A as MyColumn, B as MyColumn2
UNION
SELECT C as MyColumn, D as MyColumn2
UNION
SELECT E as MyColumn, F as MyColumn2
あなたのデータ型は、あなたが最初のデータ型を変換する必要があります一致する列に対して同じでない場合は、そのような何かます:
SELECT CONVERT(VARCHAR(10), A) as MyColumn, CONVERT(VARCHAR(10), B) as MyColumn2
UNION
SELECT CONVERT(VARCHAR(10), C) as MyColumn, CONVERT(VARCHAR(10), D) as MyColumn2
UNION
SELECT CONVERT(VARCHAR(10), E) as MyColumn, CONVERT(VARCHAR(10), F) as MyColumn2
この10億の列だけに拡張しません...
Select A as MyColumn, B as MyColumn2 from Table
UNION
Select C as MyColumn, D as MyColumn2 from Table
UNION
Select E as MyColumn, F as MyColumn2 from Table
このクエリは、しかし重複を削除します。だから、レコードが1つのテーブルにありますと言う。
こんにちは|世界|こんにちは|世界|こんにちは|世界
私の選択のみが返されます。
こんにちは|世界
サンボのは、3つすべてを返します...
SQL Serverでは2005アンピボット演算子はあなたの問題を解決することができます。 アンピボット変換SQL Serverの2005 の中の行に列ます。
それがお役に立てば幸いです。
所属していません StackOverflow