前提
SQLで以下の処理をしたいです(なおSQLクエリはbigquery上で動かしているのでbigqueryでワークするSQLが知りたい状況です)。
あるテーブルに、10万行ぐらいの、日本語文字列のデータ列があり(完全にランダムな日本語文が入っている)、その日本語文字列の中に、別のマスターデータテーブルにある文字列が含まれていたら、そのマスターデータの文字列を加えるにはどうすればよいでしょうか?
実現したいこと
具体的にサンプルで言うと、以下のようなnumberとqueryという列を持つテーブルがあったとして
number | query |
---|---|
2 | 長野 名物 |
4 | くだもの 千葉県 |
2 | キッチン |
19 | 食事 |
44 | スイーツ |
23 | 東京のレストラン |
2 | 尼崎のスイーツ |
4 | レストラン 吉田 |
9 | そば 長野屋 |
一方で、以下のようなprefというマスタテーブルがあり
pref |
---|
東京 |
神奈川 |
千葉 |
埼玉 |
長野 |
山梨 |
新潟 |
それをSQLの処理で、以下のように、queryの中にprefのいずれかの文字列が含まれていた場合に、該当するprefの文字列を抽出して表示することがしたいです。
number | query | pref |
---|---|---|
2 | 長野 名物 | 長野 |
4 | くだもの 千葉県 | 千葉 |
2 | キッチン | |
19 | 食事 | |
44 | スイーツ | |
23 | 東京のレストラン | 東京 |
2 | 尼崎のスイーツ | |
4 | レストラン 吉田 | |
9 | そば 長野屋 | 長野 |
SQLでこのような処理が可能なのかわからず、教えていただけましたら幸いです。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/30 06:11
2022/10/31 06:32