オラクル内の列にデータをフラット化しようとしています

Dcarr

Oracle 12にテーブルがあり、edit_numberのすべての行が複数の列を持つ1つの行にロールアップされるように、テーブルをフラット化する必要があります。これは以前に見たことがありますが、特定の列に配置する方法を見つけるのに苦労しています。Edit_NumberごとにEdit_Raw_Tableに最大4行あります

Edit_Raw_Table

+----------+-------------+---------+------------+------------+
| table_ID | Edit_Number | Edit_Ref| Edit_Text  | Edit_Valid |
+----------+-------------+---------+------------+------------+
|        1 |        3    |   10146 | REASON 123 |   YES      |
|        2 |        3    |   10169 | REASON 567 |   YES      |
|        3 |        3    |   10156 | REASON 456 |    NO      |
+----------+-------------+---------+------------+------------+

私がやりたいのは、次のようなものです。

+------------+-----------+------------+------------+-------------+
| Edit_Number| Edit_Ref_1| Edit_Text_1| Edit_Ref_2 | Edit_Text_2 | 
+------------+-----------+------------+------------+-------------+
|       3    |   10146   | Reason 123 |    10169   |  Reason 567 |
+------------+-----------+------------+------------+-------------+
リトルフット

少しの集約とdecode(またはcase、どちらか好きな方、この場合decodeは非常に簡単です)でうまくいくかもしれません。

SQL> with edit_raw_table (table_id, edit_number, edit_ref, edit_text, edit_valid) as
  2    (select 1, 3, 10146, 'Reason 123', 'yes' from dual union all
  3     select 2, 3, 10169, 'Reason 567', 'yes' from dual union all
  4     select 3, 3, 10156, 'Reason 456', 'no'  from dual union all
  5     --
  6     select 4, 8, 10111, 'reason 111', 'yes' from dual union all
  7     --
  8     select 5, 4, 20222, 'reason 222', 'no'  from dual union all
  9     select 6, 4, 20333, 'reason 333', 'yes' from dual union all
 10     select 7, 4, 20444, 'reason 444', 'yes' from dual union all
 11     select 8, 4, 20555, 'reason 555', 'yes' from dual
 12    ),
 13  temp as
 14    (select e.*,
 15            row_number() over (partition by edit_number order by table_id) rn
 16     from edit_raw_table e
 17     where edit_valid = 'yes'
 18    )
 19  select edit_number,
 20         max(decode(rn, 1, edit_ref)) edit_ref_1,
 21         max(decode(rn, 1, edit_text)) edit_text_1,
 22         --
 23         max(decode(rn, 2, edit_ref)) edit_ref_2,
 24         max(decode(rn, 2, edit_Text)) edit_text_2,
 25         --
 26         max(decode(rn, 3, edit_ref)) edit_ref_3,
 27         max(decode(rn, 3, edit_Text)) edit_text_3,
 28         --
 29         max(decode(rn, 4, edit_ref)) edit_ref_4,
 30         max(decode(rn, 4, edit_Text)) edit_text_4
 31  from temp
 32  group by edit_number
 33  order by edit_number;

EDIT_NUMBER EDIT_REF_1 EDIT_TEXT_ EDIT_REF_2 EDIT_TEXT_ EDIT_REF_3 EDIT_TEXT_ EDIT_REF_4 EDIT_TEXT_
----------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
          3      10146 Reason 123      10169 Reason 567
          4      20333 reason 333      20444 reason 444      20555 reason 555
          8      10111 reason 111

SQL>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHP ACFエラーを解決する方法:「ブール型の値の配列オフセットにアクセスしようとしています」

分類Dev

オーバーラップしていないデータフレームをオーバーラップしたシフトデータフレームにベクトル化するにはどうすればよいですか?

分類Dev

コンストラクター内でオブジェクトを値として受け取るマップを初期化しようとしています

分類Dev

レベルに関係なく、配列をフラット化しようとしています。デバッガーで実行します。最後の中括弧までは正常に機能しています。

分類Dev

別のデータフレームの列の値に基づいてデータフレームをサブセット化しようとするとエラーが発生します

分類Dev

配列にラップされたオブジェクト内のキーをどのようにフィルタリングしますか?

分類Dev

データベース内の特定のオブジェクトをフィルタリングして削除するにはどうすればよいですか?| フロントとして反応し、バック/ APIとしてレール

分類Dev

Rのデータテーブル列を反復処理して、プロットでグラフ化するにはどうすればよいですか?

分類Dev

TSを使用して配列内の各オブジェクトに新しいフィールドを挿入しようとしています

分類Dev

ディレクトリ内のすべてのファイルのヘッダーとトレーラーを、特定の文字までの新しいヘッダーとトレーラーの文字列に置き換えるにはどうすればよいですか?

分類Dev

文字ベクトルを変更して、それを使用して別のオブジェクトにインデックスを付けるにはどうすればよいですか?(ラスターまたはデータフレーム)

分類Dev

データベースから列値をフェッチする際に、オブジェクト以外のエラーのプロパティを取得しようとしています

分類Dev

タイプboolエラーの値で配列オフセットにアクセスしようとしています

分類Dev

クラスのデフォルトのパラメータ化をどのように設定しますか?

分類Dev

データフレーム内の列を単一のデータポイントと比較しようとすると、「同じラベルのシリーズオブジェクトのみを比較できます」エラー

分類Dev

配列内にネストされたオブジェクトの状態を更新しようとしています... jsonデータを使用して

分類Dev

どのようにして車を向いている方向に動かしますか?(Pythonとタートルグラフィックスを使用)

分類Dev

列データに基づいて、データフレーム内の行とともにデータをフラット化(または分解)する方法は?

分類Dev

Apache Cassandraのデータセンターとラックが物理的なラックまたはデータセンターと直接相関していない場合、フォールトトレランスはどのように処理されますか?

分類Dev

デスクトップC#アプリでオブジェクトクラスの名前をルートとして追加するJsonとしてオブジェクトをシリアル化するにはどうすればよいですか?

分類Dev

noImplicitAnyフラグを有効にしてtypescriptをコンパイルするときに、「オブジェクトタイプのインデックスシグネチャには暗黙的に「any」タイプがあります」というエラーを防ぐにはどうすればよいですか?

分類Dev

モバイル画面のブートストラップ列の要素を中央に配置しようとしています(メディアクエリ)

分類Dev

スタックオーバーフローエラーがJavaでバイナリフォールドレフトをしようとしています

分類Dev

未定義の参照:異なるクラスのオブジェクトのポインター配列を初期化しようとしています

分類Dev

カスタムパラメータに基づいてテーブル名にPythonのような文字列フォーマットを使用してGoogleデータスタジオでbigqueryテーブルをクエリする方法は?

分類Dev

ストライプAPIのデータを渡し/フェッチしようとしています

分類Dev

numpyで配列をフラット化しようとしています

分類Dev

インデックスと列の名前を保持してパンダのデータフレームをフラット化するにはどうすればよいですか

分類Dev

like句とウムラウトを使用してデータセット内の文字列フィールドをフィルタリングするにはどうすればよいですか?

Related 関連記事

  1. 1

    PHP ACFエラーを解決する方法:「ブール型の値の配列オフセットにアクセスしようとしています」

  2. 2

    オーバーラップしていないデータフレームをオーバーラップしたシフトデータフレームにベクトル化するにはどうすればよいですか?

  3. 3

    コンストラクター内でオブジェクトを値として受け取るマップを初期化しようとしています

  4. 4

    レベルに関係なく、配列をフラット化しようとしています。デバッガーで実行します。最後の中括弧までは正常に機能しています。

  5. 5

    別のデータフレームの列の値に基づいてデータフレームをサブセット化しようとするとエラーが発生します

  6. 6

    配列にラップされたオブジェクト内のキーをどのようにフィルタリングしますか?

  7. 7

    データベース内の特定のオブジェクトをフィルタリングして削除するにはどうすればよいですか?| フロントとして反応し、バック/ APIとしてレール

  8. 8

    Rのデータテーブル列を反復処理して、プロットでグラフ化するにはどうすればよいですか?

  9. 9

    TSを使用して配列内の各オブジェクトに新しいフィールドを挿入しようとしています

  10. 10

    ディレクトリ内のすべてのファイルのヘッダーとトレーラーを、特定の文字までの新しいヘッダーとトレーラーの文字列に置き換えるにはどうすればよいですか?

  11. 11

    文字ベクトルを変更して、それを使用して別のオブジェクトにインデックスを付けるにはどうすればよいですか?(ラスターまたはデータフレーム)

  12. 12

    データベースから列値をフェッチする際に、オブジェクト以外のエラーのプロパティを取得しようとしています

  13. 13

    タイプboolエラーの値で配列オフセットにアクセスしようとしています

  14. 14

    クラスのデフォルトのパラメータ化をどのように設定しますか?

  15. 15

    データフレーム内の列を単一のデータポイントと比較しようとすると、「同じラベルのシリーズオブジェクトのみを比較できます」エラー

  16. 16

    配列内にネストされたオブジェクトの状態を更新しようとしています... jsonデータを使用して

  17. 17

    どのようにして車を向いている方向に動かしますか?(Pythonとタートルグラフィックスを使用)

  18. 18

    列データに基づいて、データフレーム内の行とともにデータをフラット化(または分解)する方法は?

  19. 19

    Apache Cassandraのデータセンターとラックが物理的なラックまたはデータセンターと直接相関していない場合、フォールトトレランスはどのように処理されますか?

  20. 20

    デスクトップC#アプリでオブジェクトクラスの名前をルートとして追加するJsonとしてオブジェクトをシリアル化するにはどうすればよいですか?

  21. 21

    noImplicitAnyフラグを有効にしてtypescriptをコンパイルするときに、「オブジェクトタイプのインデックスシグネチャには暗黙的に「any」タイプがあります」というエラーを防ぐにはどうすればよいですか?

  22. 22

    モバイル画面のブートストラップ列の要素を中央に配置しようとしています(メディアクエリ)

  23. 23

    スタックオーバーフローエラーがJavaでバイナリフォールドレフトをしようとしています

  24. 24

    未定義の参照:異なるクラスのオブジェクトのポインター配列を初期化しようとしています

  25. 25

    カスタムパラメータに基づいてテーブル名にPythonのような文字列フォーマットを使用してGoogleデータスタジオでbigqueryテーブルをクエリする方法は?

  26. 26

    ストライプAPIのデータを渡し/フェッチしようとしています

  27. 27

    numpyで配列をフラット化しようとしています

  28. 28

    インデックスと列の名前を保持してパンダのデータフレームをフラット化するにはどうすればよいですか

  29. 29

    like句とウムラウトを使用してデータセット内の文字列フィールドをフィルタリングするにはどうすればよいですか?

ホットタグ

アーカイブ