質問: ### 前提・実現したいこと 例) マスタAの項目aが、マスタBの項目b1と一致すればマスタBの項目b1に紐づくb'1を取ってくる マスタAの項目aが、マスタBの項目b2と一致すればマスタBの項目b2に紐づくb'2を取ってくる といった取得処理を、SQLだけで実施したいです b1とb'1は、画面上でグリッドの一行分として紐づいています ### 試したこと LeftJoinかな?と思い試しましたが、今回の例でいう項目aをb1~b3の中から探さないといけないため、わかりませんでした。。 ### 補足情報(FW/ツールのバージョンなど) RDBMS:DB2
回答: 条件によって結合先を変更するという考え方ではなく、一先ず結合して取得した結果をselectでcaseなどの条件で編集します。 同じテーブルを結合する場合には、エイリアスによって別なテーブルのように結合します。 ``` select MA.*, MB1.*, MB2.* from マスタA as MA left join マスタB as MB1 on MA.A=MB1.B1 left join マスタB as MB2 on MA.A=MB2.B2 ```