Id | date | targetArray |
---|---|---|
A123 | 2023-12-01 | B01 |
A123 | 2023-12-01 | C01 |
A123 | 2023-12-01 | D01 |
上記のデータに関して、targetArrayを配列にまとめて以下のようにしたい
Id | date | targetArray |
---|---|---|
A123 | 2023-12-01 | ["B01", "C01", "D01"] |
WITH base AS ( -- targetArray項目を配列化する為に一度 group byでまとめる SELECT Id, date, -- 配列項目はそのままだとgroup byで扱えずエラーとなる為、一時的にstring型に変換する ARRAY_TO_STRING(targetArray, ",") as targetArrays, FROM dataset.table GROUP BY 1, 2 ) -- SPLITを使って、カンマ毎に区切りを入れて配列に変換する SELECT Id, date, SPLIT(targetArrays, ",") as targetArrays FROM base