- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:別テーブルにあるデータを部分一致で選択するためにはどうしたらよいでしょ)
別テーブルのデータを部分一致で選択する方法とは?
このQ&Aのポイント
- 別テーブルにあるデータを部分一致で選択するためには、SQLのLIKE句を使用します。具体的には、テーブルAとテーブルBを結合し、テーブルAの住所カラムとテーブルBの市区町村名カラムを部分一致で比較します。
- テーブルAに住所、テーブルBに市区町村名と市区町村コードがあります。テーブルAの住所カラムの値がテーブルBの市区町村名カラムの値に部分一致する場合、対応する市区町村コードを取得します。
- 具体的な手順は以下の通りです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まずSQL的な高速な処理は無理です。遅くてもよいならという前提で、 中区を汎用にするため%を両端につけます CONCAT('%',市区町村名カラム、'%') これをもとにINNER JOIN すればよいでしょう SELECT 住所カラム,市区町村コードカラム FROM テーブルA INNER JOIN テーブルB ON 住所カラム LIKE CONCAT('%',市区町村名カラム、'%') ただ「重複しないと考えて」といいつつもかなり無理があるロジックです。 たとえば広島市で検索をかけると東広島市がヒットしたりします。 正規表現のつかえるSQLであれば、いろいろ調整できるかもしれませんね
その他の回答 (1)
- taka451213
- ベストアンサー率47% (436/922)
回答No.1
こんにちは。 データベースの種類をお願いします・・・。
質問者
補足
こんにちは。 SQL Serverですが、簡単なポーティングはするつもりなのでRDBMSはどれを想定していただいても結構です。 よろしくお願いいたします。
お礼
丁寧なご回答ありがとうございました。