-1

我将几张表连接成一个嵌套表,我想知道是否可以使用星号表达式,例如,

SELECT t1.*, ARRAY_AGG(STRUCT(t2.*)) FROM t1 JOIN t2 on t1.col1=t2.col1 GROUP BY t1.*

我收到一个错误,但我想知道,也许我可以为此使用一些技巧?

4

1 回答 1

1

您的示例有两个问题:

  1. ARRAY_AGG是一个聚合函数,因此需要一个GROUP BY子句。
  2. ARRAY_AGG需要的内部结构SELECT- 即ARRAY_AGG((SELECT AS STRUCT t2.*))。需要额外的括号将内部查询视为标量子查询表达式。

如果您修复了这些问题,它应该能够运行,尽管我也建议对该ARRAY_AGG字段进行别名以使其更具可读性。

于 2021-08-17T11:34:35.237 回答