BigQuery SQL Select, который возвращает пары значений ключа, а не два отдельных столбца

Я пытаюсь объединить 2 из моих столбцов в своем операторе select для bigquery, чтобы у меня был один столбец с парами ключ-значение, а не 2 столбца (один с ключом и один со значением). Я пытался использовать array_agg(), но всякий раз, когда я это делаю, это вызывает ошибку в первой строке моего утверждения, говоря: "Выражение ссылается на столбец colName, который не группируется и не агрегируется"

Будем весьма благодарны за любые предложения о том, как это сделать или что может вызвать мою ошибку array_agg.

1 ответ

В вашем вопросе есть ограниченная информация, но я все равно получу ответ. Вот несколько примеров использования массивов, конкатенации строк и структур:

#standardSQL
WITH
  key_values AS (
  SELECT
    'key1' AS k,
    'value1' AS v
  UNION ALL
  SELECT
    'key2' AS k,
    'value2' AS v)
SELECT
  [k,
  v] AS kv_array,
  CONCAT(k,':',v) AS kv_concat,
  STRUCT(k,
    v) AS kv_struct
FROM
  key_values 

Другие вопросы по тегам