• 締切済み

複数テーブルからのデータ取得方法

SQL初心者ですが、教えてください。 (oracle10g を使用します) 下記の様なテーブルがあります。 テーブル名  カラム名 MEIBO    NAME, TYPE, HOME_CODE, OFFICE_CODE HOME     HOME_CODE, HOME_ADR, HOME_TEL OFFICE    OFFICE_CODE, OFFICE_ADR, OFFICE_TEL MEIBOテーブルのTYPEが1の場合、HOME_CODEをキーとして、HOMEテーブルより HOME_ADRとHOME_TELを取得、 MEIBOテーブルのTYPEが2の場合、OFFICE_CODEをキーとして、OFFICEテーブルよりOFFICE_CODE,OFFICE_ADR,OFFICE_TELを取得し、 下記のイメージのように出力をしたいです。 NAME TYPE   ADR    TEL -------------------------------------- 山田  1    東京都… 03-XXXX-XXXX 鈴木  2    神奈川県 045-XXX-XXXX 以上です。 ご存知の方いらっしゃいましたら よろしくお願い致します。

みんなの回答

回答No.1

select name,type,home_adr,home_tel from meibo a,home b where type=1 and a.home_code=b.home_code union all select name,type,office_adr,office_tel from meibo a,home b where type=2 and a.office_code=b.office_code ; というのが、判りやすくて良いんじゃないですかね。

kenzico
質問者

お礼

大変、助かりました。 本当にありがとうございました。

関連するQ&A