前提
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