• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別テーブルにあるデータを部分一致で選択するためにはどうしたらよいでしょ)

別テーブルのデータを部分一致で選択する方法とは?

このQ&Aのポイント
  • 別テーブルにあるデータを部分一致で選択するためには、SQLのLIKE句を使用します。具体的には、テーブルAとテーブルBを結合し、テーブルAの住所カラムとテーブルBの市区町村名カラムを部分一致で比較します。
  • テーブルAに住所、テーブルBに市区町村名と市区町村コードがあります。テーブルAの住所カラムの値がテーブルBの市区町村名カラムの値に部分一致する場合、対応する市区町村コードを取得します。
  • 具体的な手順は以下の通りです。

質問者が選んだベストアンサー

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

まずSQL的な高速な処理は無理です。遅くてもよいならという前提で、 中区を汎用にするため%を両端につけます CONCAT('%',市区町村名カラム、'%') これをもとにINNER JOIN すればよいでしょう SELECT 住所カラム,市区町村コードカラム FROM テーブルA INNER JOIN テーブルB ON 住所カラム LIKE CONCAT('%',市区町村名カラム、'%') ただ「重複しないと考えて」といいつつもかなり無理があるロジックです。 たとえば広島市で検索をかけると東広島市がヒットしたりします。 正規表現のつかえるSQLであれば、いろいろ調整できるかもしれませんね

miyamasa45
質問者

お礼

丁寧なご回答ありがとうございました。

その他の回答 (1)

回答No.1

こんにちは。 データベースの種類をお願いします・・・。

miyamasa45
質問者

補足

こんにちは。 SQL Serverですが、簡単なポーティングはするつもりなのでRDBMSはどれを想定していただいても結構です。 よろしくお願いいたします。

関連するQ&A