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