3

多くの列を持つ常に1つの行を返すクエリがあります。これを2列多行にしたいと思います。

元の結果:

Col1, Col2, Col3, Col4
----------------------
val1, val2, val3, val4

私が欲しいもの:

ColName, Value
--------------
Col1,    val1
Col2,    val2
Col3,    val3
Col4,    val4

これは可能ですか?

編集(説明)

これを自動的に行う方法を探しています。IEは、1行しか返さないクエリの結果を渡すことができます。

4

3 に答える 3

3

もちろん。行う

select 'Col1' ColName, Col1 Value from srctable union all
select 'Col2', Col2 from srctable union all
select 'Col3', Col3 from srctable union all
select 'Col4', Col4 from srctable
于 2010-02-26T20:04:51.167 に答える
2

Oracle 11gを使用していますか?ピボットとアンピボットを試しましたか?

詳細はこちら

于 2010-02-26T20:07:04.533 に答える
0

ビルドインピボットテーブルをサポートするOracleバージョンがないのではないかと思います。残念ながら、各行を作成する必要があるため、非常にクリーンなコードになることはありません。

例については、この古い投稿を参照してください

transpose-select-results-with-oracle

于 2010-02-26T20:41:30.660 に答える