別テーブルにあるデータを部分一致で選択するためにはどうしたらよいでしょう。
申し訳ありません基本的なSQLを教えてください。
テーブルAに住所、テーブルBに市区町村名と市区町村コードがあり、テーブルAに当該市区町村コードを付けたしたいのですが、どうやってテーブルAとBをマッチさせればよいのでしょうか
具体的に言えば
テーブルA内の住所カラムが以下のようなものを含んだデータだとします。
神奈川県横浜市中区XX-XX
東京都港区赤坂XXX
・
・
・
テーブルBには市区町村名カラムと市区町村コードカラムがあります。
中央区,0011
港区,0012
・
・
横浜市中区,0033
横浜市南区,0034
・
・
(一応注釈ですがCSVのイメージだと思ってください)
この2つのテーブルから合致したものに対し
神奈川県横浜市中区XX-XX,0033
東京都港区赤坂XXX,0012
という形で抽出したいのですがどのようにしたら良いのでしょうか
(東京の”中央区”など重複する可能性のあるものはデータ側で対応しますので重複しないと考えて結構です)
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
まずSQL的な高速な処理は無理です。
遅くてもよいならという前提で、中区を汎用にするため%を両端につけます
CONCAT('%',市区町村名カラム、'%')
これをもとにINNER JOIN すればよいでしょう
SELECT 住所カラム,市区町村コードカラム
FROM テーブルA
INNER JOIN テーブルB
ON 住所カラム LIKE CONCAT('%',市区町村名カラム、'%')
ただ「重複しないと考えて」といいつつもかなり無理があるロジックです。
たとえば広島市で検索をかけると東広島市がヒットしたりします。
正規表現のつかえるSQLであれば、いろいろ調整できるかもしれませんね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 神奈川県の市区町村の一覧。ただ 3 2023/05/01 18:01
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- Excel(エクセル) エクセルのマクロを教えてください。 2 2022/03/28 13:14
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- 政治 東京特別区(23区)って何の意味があるのですか? 特別区を全て市にしてはいけないのですか? 例えば. 1 2022/11/12 22:05
- 政治 東京特別区(23区)って何の意味があるのですか? 特別区を全て市にしてはいけないのですか? 例えば. 1 2022/11/13 21:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLSQLのNumber型の初期化
-
数値をNUMBER型にするかCHAR型...
-
sqlで質問です。 idを元にidに...
-
SQLについて教えて下さい。 主...
-
ROWNUMでUPDATEをしたいのです...
-
SQL、2つのテーブルで条件一致...
-
distinct をexistsに変換する
-
複雑な抽出条件のSQL文
-
次のデータを抽出する効率のよ...
-
特定のカラムが更新されたとき...
-
テーブルやカラムの物理名のネ...
-
INSERT文のSELECT部分の更新
-
sqlで質問です。 Aテーブルの情...
-
sqlplusで表示が変なので、出力...
-
Oracle(オラクル)で、日付時刻...
-
日付の古い順番に削除したいの...
-
SQL update方法
-
住所のDBテーブル、マスターの...
-
Notion@リレーション値の取得...
-
QSL でのフォーム画面作成について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブル名をカラムとして取得...
-
SQL、2つのテーブルで条件一致...
-
update文で改行を入れる
-
ROWNUMでUPDATEをしたいのです...
-
sqlplusで表示が変なので、出力...
-
SQL 複数テーブルのupdate
-
SQL*LoaderでCSVから指定した列...
-
SQLでSUMなどの関数でデータが...
-
SQLで違うテーブルの値を比較し...
-
カラム位置変更
-
UPDATE文
-
件数とデータを同時に取得する...
-
特定のカラムが更新されたとき...
-
Oracle(オラクル)で、日付時刻...
-
半角英数文字の抽出がしたい。
-
数値をNUMBER型にするかCHAR型...
-
DELETE文とロックについて
-
Oracleのview、synonymをCOMPIL...
-
SQL(oracle)でご助言いただきた...
-
SELECT文で指定桁数分抽出する...
おすすめ情報