是否可以在 array_agg(BigQuery 中的结构表达式?
Is it possible to use star expression inside array_agg(struct expressions in BigQuery?
我正在将几个表格连接成一个嵌套表格,我想知道是否可以使用星号表达式,例如,
SELECT t1.*, ARRAY_AGG(STRUCT(t2.*)) FROM t1 JOIN t2 on t1.col1=t2.col1 GROUP BY t1.*
我收到一个错误,但我想知道,也许我可以为此使用一些技巧?
你的例子有两个问题:
ARRAY_AGG
是一个 aggregate function,因此需要一个 GROUP BY
子句。
- 您的
ARRAY_AGG
内部需要一个 SELECT
- 即 ARRAY_AGG((SELECT AS STRUCT t2.*))
。需要额外的括号来将内部查询视为标量子查询表达式。
如果您修复这些问题,它应该能够 运行,但我也建议为 ARRAY_AGG
字段设置别名以使其更具可读性。
我正在将几个表格连接成一个嵌套表格,我想知道是否可以使用星号表达式,例如,
SELECT t1.*, ARRAY_AGG(STRUCT(t2.*)) FROM t1 JOIN t2 on t1.col1=t2.col1 GROUP BY t1.*
我收到一个错误,但我想知道,也许我可以为此使用一些技巧?
你的例子有两个问题:
ARRAY_AGG
是一个 aggregate function,因此需要一个GROUP BY
子句。- 您的
ARRAY_AGG
内部需要一个SELECT
- 即ARRAY_AGG((SELECT AS STRUCT t2.*))
。需要额外的括号来将内部查询视为标量子查询表达式。
如果您修复这些问题,它应该能够 运行,但我也建议为 ARRAY_AGG
字段设置别名以使其更具可读性。