mysql 4.1.22 についての質問です。23区の住所データで、区の名前がないのがあります。区を割り当てたいのですが、SQL 的にどうやるといいのでしょうか? データは、区のない住所データ jusho( id,address )と 別途 ku (ku,machi ) 23区と町の名前

のリストがあります。jusho は、5,麹町1-5-3 のようになっていて、ku で、千代田区,麹町で、麹町が、部分一致するので、
5,千代田区,麹町1-5-3をつくりたいのです。select 文を重ねるようなことになるので、mysql 4.1.22 ではできないかもしれないとも思うのですが、どうなんでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/03/22 12:29:09
  • 終了:2010/03/29 12:30:02

回答(1件)

id:Km1967 No.1

Km1967回答回数224ベストアンサー獲得回数352010/03/22 12:54:30

ポイント60pt

古い環境はもはや残しておらんからテストはしておらんが、総当りだから効率は悪いぞ。

SELECT a.id, b.ku, a.address
FROM jusho a, ku b
WHERE INSTR(a.address, b.machi) > 0

http://dev.mysql.com/doc/refman/4.1/ja/string-functions.html

id:kaiketsu

jusho に kuのカラムつくって、update かけることはできるでしょうか? 少し早くなるような気もするのですが、

2010/03/22 12:59:35
  • id:Km1967
    UPDATE jusho SET ku = (SELECT ku FROM ku WHERE INSTR(address, machi) > 0 LIMIT 0,1);
    さて動くかのぉ。なんか引っかかるんじゃが。

    INSERT INTO 新テーブル
    SELECT a.id, b.ku, a.address
    FROM jusho a, ku b
    WHERE INSTR(a.address, b.machi) > 0
    のほうがまだ動きそうじゃし、オリジナルを壊す心配もないが、どうじゃ?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません