• 締切済み

MYSQL like % の使い方

テーブルA  id phone ---------------- 1 8199992222 2 8211113333 3 8211114444 4 85233334444 テーブルB id Prefix name ------------------------- 1 81 Japan 2 82 Korea 3 852 Hong Kong テーブルBは使わず、 SELECT a.id, a,Phone, Case when a.Phone like '81%' then 'Japan' when a.Phone like '82%' then 'Korea' when a.Phone like '852%' then 'Hong Kong' else null end FROM テーブルA as a とすると、下記のようになると思いますが、”like '82%'” の部分がたくさんあり、1つづつ全て書くことができません。 一覧が テーブルBにあるPrefix なので、こちらを使って効率よくできませんでしょうか。 id phone name -------------------------------- 1 8199992222 Japan 2 8211113333 Korea 3 8211114444 Korea 4 8523334444 Hong Kong MYSQL ver: 5.0.51a 他必要な情報があればお知らせください。 宜しくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

SELECT A.id,A.phone,B.name FROM テーブルA AS A LEFT JOIN テーブルB AS B ON phone LIKE CONCAT(Prefix,'%')

fukafuka19
質問者

お礼

LIKE CONCAT(Prefix,'%') とすればよいのですね。。 大変助かりました。早急にお助け頂きありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A