質問: ユーザーマスタ | ID | 名前 | 区分1 | 区分2 | | --- | --- | --- | --- | | 1 | hoge | 1 | 1 | | 2 | foo | 2 | 2 | 名称マスタ | ID | 種別 | 名称コード | 名称 | | --- | --- | --- | --- | | 1 | 0 | 1 | あああ | | 2 | 0 | 2 | いいい | | 3 | 0 | 3 | ううう | | 4 | 1 | 1 | aaa | | 5 | 1 | 2 | bbb | | 6 | 1 | 3 | ccc | ユーザーマスタの区分1および2には 名称マスタの名称コードが入っています。 ユーザーマスタから情報を取ってくるときに 区分1は名称マスタの種別=0の名称コードが一致するもの 区分2は名称マスタの種別=1の名称コードが一致するもの を取りたいのですが 名称マスタの種別コードがユーザーマスタに無い状態で取得可能でしょうか? 求める結果 | 名前 | 区分1 | 区分2 | | --- | --- | --- | | hoge | あああ | aaa | | foo | いいい | bbb |
回答: ユーザーマスタの件数が多くない場合こんなSQLも可能かと ``` create table usr_mst (id int,name text, kubun1 int, bukun2 int); create table meisho_mst (id int,syubetu int, meisho_cd int, meisho text); select name 名前, (select meisho from meisho_mst where syubetu=0 and meisho_cd=kubun1) 区分1, (select meisho from meisho_mst where syubetu=1 and meisho_cd=kubun1) 区分2 from usr_mst ```