先の質問より、ちょっと複雑です。

オラクルですが、テーブルAとテーブルBがあり、
通常はテーブルAの内容を抽出したいのですが、テーブルBに該当する部分は テーブルBの項目で
一部置き換えて抽出したいのです。
どうすればいいでしょうか?


テーブルA
A,B,D
1,6,2
2,7,4
3,8,5
4,9,6
5,0,7

テーブルB
A,C
2,3
4,1

Aの項目が 一致するものは テーブルBのCをBに出力。

抽出
A,B,D
1,6,2
2,3,4
3,8,5
4,1,6
5,0,7

なお、SELECT文だけで やりたいのです。
別にテーブルを作成してUPDATEしてやれば簡単なんですけどね。

オラクルの得意な人、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:2006/08/07 16:53:38
  • 終了:2006/08/07 17:22:47

ベストアンサー

id:Allashe No.1

Allashe回答回数59ベストアンサー獲得回数52006/08/07 17:17:48

ポイント60pt

下のSQLでどうでしょう。

SELECT

TABLE_A.A,

CASE WHEN TABLE_B.A is null THEN TABLE_A.B ELSE TABLE_B.C END AS B,

TABLE_A.D

FROM

TABLE_A LEFT OUTER JOIN TABLE_B

ON

TABLE_A.A = TABLE_B.A

id:taknt

いろいろやり方がありますね。

勉強になります。

ありがとうございました。

2006/08/07 17:22:14

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません