質問

私のテーブルには、次の列があります:

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 の中の行に列ます。

それがお役に立てば幸いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top