「良好な結果」を出すことが難しいとされる,郵便番号 0285102 と 8260043 に関する問い合わせを行ってみる.
#!/bin/bash cat >/tmp/a.$$.sql <<-SQL SELECT * FROM zips WHERE zipcode = '"8260043"'; SQL cat /tmp/a.$$.sql | sqlite3 /tmp/mydb02
#!/bin/bash cat >/tmp/a.$$.sql <<-SQL SELECT * FROM zips WHERE zipcode = '"0285102"'; SQL cat /tmp/a.$$.sql | sqlite3 /tmp/mydb02
「一円」というのは「●●一円」のようなものです.
#!/bin/bash cat >/tmp/a.$$.sql <<-SQL select count(*) FROM zips WHERE choiki_kanji LIKE '%一円%'; SQL cat /tmp/a.$$.sql | sqlite3 /tmp/mydb02
数は0個 → なので満足
#!/bin/bash cat >/tmp/a.$$.sql <<-SQL select count(*) FROM zips WHERE choiki_kanji LIKE '%以下に掲載がない場合%'; SQL cat /tmp/a.$$.sql | sqlite3 /tmp/mydb02
数は0個 → なので満足
以下、書きかけ
テーブル zips で、同じ jiscode の値をもつ行の行数を数える.
#!/bin/bash
cat >/tmp/a.$$.sql <<-SQL
select jiscode, count(*)
from zips
group by jiscode
having count(*) > 1;
SQL
cat /tmp/a.$$.sql | sqlite3 /tmp/mydb02
ちなみに shichoson_kanji は候補キーではありません. shichoson_kana も候補キーではありません. (同じ漢字で違うよみのものがある)。
select shichoson_kanji, count(*)
from zips
group by shichoson_kanji
having count(*) > 1;
select shichoson_kana, count(*)
from zips
group by shichoson_kana
having count(*) > 1;