Oracle SQL:異なるテーブルの列を1つのテーブルに結合できますか?

ブルック

異なるテーブルの列を1つの結果に結合できるかどうか疑問に思います。

Table A:
ID ColA ColB
1   A    B

Table B:
ID ColC ColD ColE
1   C1   D1   E1
1   C2   D2   E2

Table C:
ID ColF ColG 
1   F    G   

期待される結果:

ID ColA ColB ColC ColD ColE ColF ColG
1   A    B    C1   D1   E1   F    G
1             C2   D2   E2

異なるテーブルの列を1つに結合する方法はありますか?

前もって感謝します。

GolezTrol

私の「単純な」解決策はfull outer join、しかし、2番目の行にあるギャップを与えないでしょう(TableAには1つの行しか含まれていないため)。

したがって、これを解決するには、もう少し複雑にして、各テーブルのIDごとに数値を生成します。次に、これらの副選択のそれぞれで完全外部結合を作成し、その生成された行番号を結合の2番目のフィールドとして使用できます。そうすれば、デカルト積を取得できず、行が欠落しているためのギャップがあり、描画したときに結果が得られます。

テスト用のデータベースが手元にありませんが、機能するかどうか教えてください。

 select
    coalesce(A.ID, B.ID, C.ID) as ID,
    A.ColA, A.ColB, B.ColC, B.ColD, B.ColE, C.ColF, C.ColG
 from
    (select
      ID,
      row_number() over (partition by ID order by ColA) as rownumber,
      ColA,
      ColB
    from
      TableA t) A
  full outer join
    (select
      ID,
      row_number() over (partition by ID order by ColC) as rownumber,
      ColC,
      ColD,
      ColE
    from
      TableB t) B on B.ID = A.ID and B.rownumer = A.rownumber
  full outer join
    (select
      ID,
      row_number() over (partition by ID order by ColF) as rownumber,
      ColF,
      ColG
    from
      TableC t) C on C.ID = nvl(A.ID, B.ID) and C.rownumer = A.rownumber

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

SQL on Oracle:すでに2つのテーブルを結合していますが、別のテーブルから別の列が必要です(別の結合)

分類Dev

からの2つの月次合計を異なるテーブルに結合するOracle

分類Dev

3つの異なるテーブルから一致する値を選択し、それらをOracleの1つのテーブルに結合します

分類Dev

Oracleで2つのテーブルを結合する方法

分類Dev

Oracle SQLは3つのテーブルを結合し、列ごとにグループ化します

分類Dev

2つの異なるテーブルで同じインデックスを使用できますが、Oracleの同じ列で使用できますか

分類Dev

Oracleにテーブルが存在する場合、どのようにテーブルを削除できますか?

分類Dev

Oracleを使用して、PIVOTで3つのテーブルを1つに結合します

分類Dev

Oracle SQL-一時テーブルを作成してから、そのテーブルに結合する

分類Dev

Oracleは1つのテーブルまたは別のテーブルに結合します

分類Dev

Oracle2つのテーブルを結合する

分類Dev

1つのテーブルから複数の行のテーブルに単一の値を結合する-Oracle

分類Dev

混合列を使用して2つのテーブルを結合するoracle

分類Dev

Oracle sql-2つの異なるテーブルから2つの合計の差を選択しますか?

分類Dev

これは、テーブルをテーブルに依存するビューに結合するときのOracleのバグですか?

分類Dev

Oracleは複数のテーブルを結合しますか?

分類Dev

OracleのテーブルAの1つの列からテーブルBにデータをコピーするにはどうすればよいですか。

分類Dev

1つの行で2つのテーブルを左結合する方法(Oracle 11gまたは標準SQL)

分類Dev

2つのテーブルからSUMを追加/結合する方法Oracle、Basic

分類Dev

ソートされた結果セットでテーブルを結合する際のmySqlの動作がMs-SqlおよびOracleと異なる

分類Dev

Oracleを使用して、ジャンクションテーブルから2つの列を1つに結合します

分類Dev

Oracle-列の値に基づいて1つのテーブルから別のテーブルにデータをビニングするSQLクエリ?

分類Dev

Oracle-列の値に基づいて1つのテーブルから別のテーブルにデータをビニングするSQLクエリ?

分類Dev

2つの異なるテーブルのレコードをOracleの1つのテーブルに挿入する

分類Dev

Oracleは、2つのテーブルを結合するときに、繰り返し行を列に分割します

分類Dev

Oracleの列値に基づいてテーブルを結合する

分類Dev

Oracleの2つのテーブルを合計して結合する

分類Dev

Oracleで同じキーを使用せずに2つのテーブルを結合する

分類Dev

2つのテーブルを結合して、最新の結果Oracle、SQLを表示します

Related 関連記事

  1. 1

    SQL on Oracle:すでに2つのテーブルを結合していますが、別のテーブルから別の列が必要です(別の結合)

  2. 2

    からの2つの月次合計を異なるテーブルに結合するOracle

  3. 3

    3つの異なるテーブルから一致する値を選択し、それらをOracleの1つのテーブルに結合します

  4. 4

    Oracleで2つのテーブルを結合する方法

  5. 5

    Oracle SQLは3つのテーブルを結合し、列ごとにグループ化します

  6. 6

    2つの異なるテーブルで同じインデックスを使用できますが、Oracleの同じ列で使用できますか

  7. 7

    Oracleにテーブルが存在する場合、どのようにテーブルを削除できますか?

  8. 8

    Oracleを使用して、PIVOTで3つのテーブルを1つに結合します

  9. 9

    Oracle SQL-一時テーブルを作成してから、そのテーブルに結合する

  10. 10

    Oracleは1つのテーブルまたは別のテーブルに結合します

  11. 11

    Oracle2つのテーブルを結合する

  12. 12

    1つのテーブルから複数の行のテーブルに単一の値を結合する-Oracle

  13. 13

    混合列を使用して2つのテーブルを結合するoracle

  14. 14

    Oracle sql-2つの異なるテーブルから2つの合計の差を選択しますか?

  15. 15

    これは、テーブルをテーブルに依存するビューに結合するときのOracleのバグですか?

  16. 16

    Oracleは複数のテーブルを結合しますか?

  17. 17

    OracleのテーブルAの1つの列からテーブルBにデータをコピーするにはどうすればよいですか。

  18. 18

    1つの行で2つのテーブルを左結合する方法(Oracle 11gまたは標準SQL)

  19. 19

    2つのテーブルからSUMを追加/結合する方法Oracle、Basic

  20. 20

    ソートされた結果セットでテーブルを結合する際のmySqlの動作がMs-SqlおよびOracleと異なる

  21. 21

    Oracleを使用して、ジャンクションテーブルから2つの列を1つに結合します

  22. 22

    Oracle-列の値に基づいて1つのテーブルから別のテーブルにデータをビニングするSQLクエリ?

  23. 23

    Oracle-列の値に基づいて1つのテーブルから別のテーブルにデータをビニングするSQLクエリ?

  24. 24

    2つの異なるテーブルのレコードをOracleの1つのテーブルに挿入する

  25. 25

    Oracleは、2つのテーブルを結合するときに、繰り返し行を列に分割します

  26. 26

    Oracleの列値に基づいてテーブルを結合する

  27. 27

    Oracleの2つのテーブルを合計して結合する

  28. 28

    Oracleで同じキーを使用せずに2つのテーブルを結合する

  29. 29

    2つのテーブルを結合して、最新の結果Oracle、SQLを表示します

ホットタグ

アーカイブ