0

我正在尝试在 bigquery 上的 select 语句中合并我的 2 列,以便我有一列带有键值对而不是两列(一列带有键,一列带有值)。我曾尝试使用 array_agg() 但每当我这样做时,它都会在我的语句的第一行中导致错误:“一个表达式引用了既不分组也不聚合的列 colName”

任何有关如何执行此操作或可能导致我的 array_agg 错误的建议将不胜感激。

4

1 回答 1

3

您的问题中信息有限,但无论如何我都会尝试一下。下面是一些使用数组、字符串连接和结构的示例:

#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 

在此处输入图像描述

于 2018-06-25T08:33:53.387 回答