0

このクエリの結合構文を理解するのに最も苦労しています。

Oracle SQL クエリから次の結果が得られたとします。

結果1:

Id1:    Id2:    Char1:    Char2:    ...   CharN:
123a    ABC     c1a       c2a       ...   cNa
123b    DEF     c1b       c2b       ...   cNb

Id2そして、同じデータベースに、単純に次のものに基づいた「マッピング テーブル」があります。

マッピング表:

Id1:    Id2:
123a    ABC
234a    ABC
345a    ABC
456a    ABC
123b    DEF
234b    DEF

そして、今私がやりたいことは、 が一致Id1するマッピング テーブルのそれぞれの結果を複製するId2ことです。最終結果が得られます。

望ましい結果:

Id1:    Id2:    Char1:    Char2:    ...   CharN:
123a    ABC     c1a       c2a       ...   cNa
234a    ABC     c1a       c2a       ...   cNa
345a    ABC     c1a       c2a       ...   cNa
456a    ABC     c1a       c2a       ...   cNa
123b    DEF     c1b       c2b       ...   cNb
234b    DEF     c1b       c2b       ...   cNb

Id1つまり、一致するマッピング テーブルのレコードごとに変更された結果を繰り返しますId2

ある種の外部結合を使用して実行しようとしていますが、構文がまったく正しくありません!

ご協力いただきありがとうございます!!

4

1 に答える 1

1

私があなたの質問を正しく理解していれば、あなたは Id1 ではなく Id2 に参加したいと考えています。これを試して:

SELECT M.Id1, M.Id2, R.Char1, R.Char2
FROM Mapping M 
   JOIN Result1 R ON M.Id2 = R.Id2

Result1 テーブルに Id2 の重複行がある場合、これにより重複レコードが返される可能性があります。

そして、ここにSQL Fiddleがあります。

幸運を。

于 2013-01-29T17:30:28.487 に答える