2012-07-26 53 views
5

oracleのドキュメントのとおり、PIVOTファンクションは "IN"句でサブクエリをサポートしませんが、PIVOT XMLファンクションでは可能です。 など。副問合せをサポートするPIVOT-INの別の方法

SELECT * 
FROM table_name 
PIVOT 
(
    SUM(column_name_1) 
    FOR [column_name_2] IN (['Output_Column1'],['Output_Column2']) 
) 
AS aliasName 

['Output_Column1'],['Output_Column2']をサブクエリに置き換える必要があります。

PIVOTと同等の機能がありますが、出力列全体をハードコーディングする代わりにサブクエリを指定することもできますし、PIVOT関数自体でも使用できます。

答えて

1

いいえ、解析時に列の数を知る必要があります。 PIVOT XMLの場合、このような問合せは1つの列しか戻さないため、問題はありません。

+0

ありがとうMarcin。しかし、PIVOTのような同等の機能があり、上記の基準(サブクエリを使用しています)を満たしていますか? –

+2

@VijayKrish私のコメントは、あらゆるSQLクエリに関するもので、可変数の列を持つことはできません。そのようなオプションはありません。たぶん、あなたが達成しようとしていることを説明してください。なぜあなたはそのようなことが必要なのですか? –

+0

マイテーブルは以下のcoulmnsで構成されています。 Person_id、statusなど。 –

関連する問題