[解決済み] Oracle sqlのDynamic Pivot
質問
... ピボット (sum(A) for B in (X))
ここで、Bはデータ型varchar2、Xはvarchar2の値をカンマで区切った文字列である。
Xの値は、同じテーブルのある列(例えばCL)から異なる値を選択します。このようにして、ピボット・クエリが動作するようになりました。
しかし、問題は、CL列に新しい値があるたびに、手動でその値を文字列Xに追加しなければならないことです。
私はXをselect distinct values from CLに置き換えてみました。しかし、クエリは実行されません。
Xを置き換えるには、カンマで区切られた値が必要なためだと感じました。
そして、文字列Xと一致する正確な出力を返す関数を作りました。しかし、クエリはまだ実行されません。
表示されるエラーメッセージは "missing righr parantheses", "end of file communication channel" 等々です。
ピボットだけでなく、ピボットxmlも試してみましたが、クエリは実行されるものの、oraxxxなどのまったく値のない数値が表示されます。
私の使い方が悪いのかもしれません。
動的な値を持つピボットを作成する方法を教えてください。
どのように解決するのですか?
の中に定数でない文字列を入れることはできません。
IN
節があります。
そのためにPivot XMLを使うことができます。
から ドキュメンテーション :
サブクエリ サブクエリは、XML キーワードと組み合わせてのみ使用されます。 サブクエリを指定すると、サブクエリで見つかったすべての値が、そのサブクエリで使用されます。 ピボッティングに使用
このように表示されるはずです。
select xmlserialize(content t.B_XML) from t_aa
pivot xml(
sum(A) for B in(any)
) t;
また、サブクエリの代わりに
ANY
キーワードを使用します。
select xmlserialize(content t.B_XML) from t_aa
pivot xml(
sum(A) for B in (select cl from t_bb)
) t;
関連
-
[解決済み] SQL Server - INNER JOIN WITH DISTINCT
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] Oracleの全テーブルのリストを取得しますか?
-
[解決済み] データフレームをピボットするにはどうしたらいいですか?
-
[解決済み] ある列に含まれる明確な値の数を求めるSQL
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み】Oracleクエリが順序付け後に返す行数を制限するにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】''付近の構文が正しくない
-
[解決済み】 "指定された集約関数を含まないクエリを実行しようとしました。"
-
[解決済み】ストアドプロシージャーのエラー ORA-06550
-
[解決済み] varchar 値 'simple, ' をデータ型 int に変換する際に変換に失敗しました。
-
[解決済み】BULK INSERTで「予期せぬファイルの終了」エラーが発生したROWを特定する?
-
[解決済み】Athena: スケールファクターでリソースを使い果たすクエリ
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] SQLエラーです。ORA-00922: オプションがないか無効です。
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] SQLで複数のGROUP BYを使用する場合とは?