>sqlite3 PopTbl.dat
SQLite version 3.6.11
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE PopTbl(pref_name text, population integer);
sqlite> INSERT INTO PopTbl values('徳島', 100);
sqlite> INSERT INTO PopTbl values('香川', 200);
sqlite> INSERT INTO PopTbl values('愛媛', 150);
sqlite> INSERT INTO PopTbl values('高知', 200);
sqlite> INSERT INTO PopTbl values('福岡', 300);
sqlite> INSERT INTO PopTbl values('佐賀', 100);
sqlite> INSERT INTO PopTbl values('長崎', 200);
sqlite> INSERT INTO PopTbl values('東京', 400);
sqlite> INSERT INTO PopTbl values('群馬', 50);
sqlite> select * from PopTbl;
徳島|100
香川|200
愛媛|150
高知|200
福岡|300
佐賀|100
長崎|200
東京|400
群馬|50
sqlite> SELECT CASE pref_name
...> WHEN '徳島' THEN '四国'
...> WHEN '香川' THEN '四国'
...> WHEN '愛媛' THEN '四国'
...> WHEN '高知' THEN '四国'
...> WHEN '福岡' THEN '九州'
...> WHEN '佐賀' THEN '九州'
...> WHEN '長崎' THEN '九州'
...> ELSE 'その他' END AS district,
...> SUM(population)
...> FROM PopTbl
...> GROUP BY CASE pref_name
...> WHEN '徳島' THEN '四国'
...> WHEN '香川' THEN '四国'
...> WHEN '愛媛' THEN '四国'
...> WHEN '高知' THEN '四国'
...> WHEN '福岡' THEN '九州'
...> WHEN '佐賀' THEN '九州'
...> WHEN '長崎' THEN '九州'
...> ELSE 'その他' END;
その他|450
九州|600
四国|650
GCL (GNU Common Lisp) 2.6.7 ANSI Dec 27 2007 19:55:59
Source License: LGPL(gcl,gmp), GPL(unexec,bfd)
Binary License: GPL due to GPL'ed components: (UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL.
>(setq pref_name "徳島")
"徳島"
>(cond
((equal pref_name "徳島") "四国")
((equal pref_name "香川") "四国")
((equal pref_name "愛媛") "四国")
((equal pref_name "高知") "四国")
((equal pref_name "福岡") "九州")
((equal pref_name "佐賀") "九州")
((equal pref_name "長崎") "九州")
(t "その他"))
"四国"
>(setq pref_name "福岡")
"福岡"
>(cond
((equal pref_name "徳島") "四国")
((equal pref_name "香川") "四国")
((equal pref_name "愛媛") "四国")
((equal pref_name "高知") "四国")
((equal pref_name "福岡") "九州")
((equal pref_name "佐賀") "九州")
((equal pref_name "長崎") "九州")
(t "その他"))
"九州"
>(setq pref_name "東京")
"東京"
>(cond
((equal pref_name "徳島") "四国")
((equal pref_name "香川") "四国")
((equal pref_name "愛媛") "四国")
((equal pref_name "高知") "四国")
((equal pref_name "福岡") "九州")
((equal pref_name "佐賀") "九州")
((equal pref_name "長崎") "九州")
(t "その他"))
"その他"
getRegion :: String -> String
getRegion str = case str of
"Tokushima" -> "Shikoku"
"Kagawa" -> "Shikoku"
"Ehime" -> "Shikoku"
"Kouchi" -> "Shikoku"
"Fukuoka" -> "Kyushu"
"Saga" -> "Kyushu"
"Nagasaki" -> "Kyushu"
otherwise -> "Other"
main = do
print $ getRegion "Tokushima"
print $ getRegion "Fukuoka"
print $ getRegion "Tokyo"