見出し画像

【SQLクエリ部品】CASE文の条件分岐で都道府県コードから都道府県名を表示する

こんにちは、フリーランスでデータ分析をしている金山雄星です!

先日、クエリを書いていて、都道府県別に集計・分析したいけど
prefecture_nameがどこにもなくて、アウトプットの都道府県表示が都道府県コードになってしまう。という(ニッチな)問題に対面しました。

考えられる解決策としては
・prefecturesテーブル追加をエンジニア依頼する
・力ずくでCASE文条件分岐する
ですが、

俺はデータ分析家なので

慰めでも励ましでも無くSELECT句で力ずくCASE文条件分岐するコードを

ここに置いておきます。

(元ネタ:back number清水依与吏さんの「水平線」リリースコメント https://www.universal-music.co.jp/backnumber/news/2020-08-18/

  CASE
           WHEN hogehoge.prefecture_id = 1 THEN '北海道'
           WHEN hogehoge.prefecture_id = 2 THEN '青森県'
           WHEN hogehoge.prefecture_id = 3 THEN '岩手県'
           WHEN hogehoge.prefecture_id = 4 THEN '宮城県'
           WHEN hogehoge.prefecture_id = 5 THEN '秋田県'
           WHEN hogehoge.prefecture_id = 6 THEN '山形県'
           WHEN hogehoge.prefecture_id = 7 THEN '福島県'
           WHEN hogehoge.prefecture_id = 8 THEN '茨城県'
           WHEN hogehoge.prefecture_id = 9 THEN '栃木県'
           WHEN hogehoge.prefecture_id = 10 THEN '群馬県'
           WHEN hogehoge.prefecture_id = 11 THEN '埼玉県'
           WHEN hogehoge.prefecture_id = 12 THEN '千葉県'
           WHEN hogehoge.prefecture_id = 13 THEN '東京都'
           WHEN hogehoge.prefecture_id = 14 THEN '神奈川県'
           WHEN hogehoge.prefecture_id = 15 THEN '新潟県'
           WHEN hogehoge.prefecture_id = 16 THEN '富山県'
           WHEN hogehoge.prefecture_id = 17 THEN '石川県'
           WHEN hogehoge.prefecture_id = 18 THEN '福井県'
           WHEN hogehoge.prefecture_id = 19 THEN '山梨県'
           WHEN hogehoge.prefecture_id = 20 THEN '長野県'
           WHEN hogehoge.prefecture_id = 21 THEN '岐阜県'
           WHEN hogehoge.prefecture_id = 22 THEN '静岡県'
           WHEN hogehoge.prefecture_id = 23 THEN '愛知県'
           WHEN hogehoge.prefecture_id = 24 THEN '三重県'
           WHEN hogehoge.prefecture_id = 25 THEN '滋賀県'
           WHEN hogehoge.prefecture_id = 26 THEN '京都府'
           WHEN hogehoge.prefecture_id = 27 THEN '大阪府'
           WHEN hogehoge.prefecture_id = 28 THEN '兵庫県'
           WHEN hogehoge.prefecture_id = 29 THEN '奈良県'
           WHEN hogehoge.prefecture_id = 30 THEN '和歌山県'
           WHEN hogehoge.prefecture_id = 31 THEN '鳥取県'
           WHEN hogehoge.prefecture_id = 32 THEN '島根県'
           WHEN hogehoge.prefecture_id = 33 THEN '岡山県'
           WHEN hogehoge.prefecture_id = 34 THEN '広島県'
           WHEN hogehoge.prefecture_id = 35 THEN '山口県'
           WHEN hogehoge.prefecture_id = 36 THEN '徳島県'
           WHEN hogehoge.prefecture_id = 37 THEN '香川県'
           WHEN hogehoge.prefecture_id = 38 THEN '愛媛県'
           WHEN hogehoge.prefecture_id = 39 THEN '高知県'
           WHEN hogehoge.prefecture_id = 40 THEN '福岡県'
           WHEN hogehoge.prefecture_id = 41 THEN '佐賀県'
           WHEN hogehoge.prefecture_id = 42 THEN '長崎県'
           WHEN hogehoge.prefecture_id = 43 THEN '熊本県'
           WHEN hogehoge.prefecture_id = 44 THEN '大分県'
           WHEN hogehoge.prefecture_id = 45 THEN '宮崎県'
           WHEN hogehoge.prefecture_id = 46 THEN '鹿児島県'
           WHEN hogehoge.prefecture_id = 47 THEN '沖縄県'
           ELSE '不明'
       END AS prefecture_id

※hogehogeにprefecture_idのあるテーブル名に置換してお使いください


役に立ったという方はいいねよろしくお願いします!
Twitterも見ていってくださいね!
https://twitter.com/YuseiKanayama

金山雄星

この記事が気に入ったらサポートをしてみませんか?