お世話になります。
どう説明していいかわからないので例を下記に記載します。
下記のようなマスタデータがあり
[tbl_m_ken]
No | mst_ken |
---|---|
0 | hokkaido |
1 | aomori |
2 | akita |
3 | iwate |
4 | yamagata |
5 | miyagi |
6 | fukushima |
下記のようなトランデータに自由に入力させます。
[tbl_t_ken]
No | trn_ken |
---|---|
0 | 京都 |
1 | 大阪 |
2 | 愛知 |
3 | akita |
4 | 高知 |
5 | 熊本 |
6 | 鹿児島 |
DBでデータを抽出した際に、
sql
1SELECT 2 (SELECT 3 CONCAT('ローマ字の', mst_ken) 4 FROM 5 tbl_m_ken 6 WHERE 7 tbl_m_ken.mst_ken = tbl_t_ken.trn_ken AND 8 tbl_m_ken.mst_ken IS NOT NULL AND 9 tbl_m_ken.trn_ken <> '' LIMIT 1) 10 AS trn_ken 11FROM 12 tbl_t_ken 13WHERE 14 tbl_t_ken.No = 3
上記だったら「ローマ字のakita」と表示されると思うのですが、
これにもうひと加えして、[tbl_t_ken.No = 3]で[akita]以外が指定された場合(tbl_t_ken.No = 4)や(tbl_t_ken.No = 2)は
ただ「高知」や「愛知」とそのまま出力したいと思っています。
CASE WHENを使用したら良いのかとも思いましたが、
CASE WHENの中でマスタのデータを参照するというのがよくわからず困っています。
御助力いただけないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/31 03:41