IddatetargetArray
A1232023-12-01B01
A1232023-12-01C01
A1232023-12-01D01

上記のデータに関して、targetArrayを配列にまとめて以下のようにしたい

IddatetargetArray
A1232023-12-01["B01", "C01", "D01"]
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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
おすすめの記事