![見出し画像](https://assets.st-note.com/production/uploads/images/75108987/rectangle_large_type_2_6ab8d2317ee3d7a0ab10ca98cbfcdf56.png?width=1200)
Photo by
4540_73
SQL 複数フィールド(セル)を一つにまとめる
■ BigQuery使わんと・・・
とある製品を導入しているのだが、BigQueryを使わなければならず、
初めましてBigQuery!ということで、時間が掛かってしまった。。。
■やりたいこと
![](https://assets.st-note.com/img/1648309467889-lZwSDosnVg.png?width=1200)
上記のように、商品番号の一部一致があった場合、商品規格をまとめたい
①商品番号の一部を削除し、共通部分のみにする
②商品規格を1つのフィールドに記載する(今回はカンマ区切り)
⇒今回は2番目の内容
■GROUP_CONCATは使えないよ
参考:リファレンス
https://dev.mysql.com/doc/refman/5.6/ja/group-by-functions.html#function_group-concat
MYSQLではGROUP_CONCATで上記のようにできる。
BigQueryでは標準 SQL とレガシー SQL の 2 つの SQL 言語をサポートしているのだけど、GROUP_CONCATは使えない。
■STRING_AGGで解決
参考:リファレンス
https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#string_agg
ということで、解決した。
解説というか実際のクエリ部分も書こうかと思ったのだが、
STRING_AGGにたどり着くのに一番時間が掛かったから、
これで似たことを実装したい人の手助けになるかな・・?
なれば幸い!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?