【发布时间】:2021-04-25 21:07:11
【问题描述】:
我正在尝试创建一个由许多表组成的大型嵌套表,例如我的客户表、电话号码、电子邮件......它们都有共同的 client_id 字段。 目前我必须遵循运行良好的查询(“加入”客户表字段和相应的电话号码字段):
SELECT Clients.*, ARRAY_AGG( STRUCT(Timestamp, Country_Code, Local_Number, Phone_Number, Whatsapp)) as Phones
FROM Clients LEFT JOIN Phones USING(client_id)
GROUP BY Client.client_id, Clients.Timestamp, Clients.First_Name, Clients.Last_Name, Clients.DOB
Client.client_id, Clients.Timestamp, Clients.First_Name, Clients.Last_Name, Clients.DOB 是我在客户表中的所有字段。
我想将此查询用作子查询,以类似的方式将其“加入”到电子邮件表中(使用并重命名子查询的结果)。
问题是我想对客户表的所有字段进行分组,而不是每次都写。 GROUP BY Clients.* 和 GROUP BY ALL 都不起作用...
我能做些什么来缩短这个?
【问题讨论】:
标签: sql group-by google-bigquery left-join nested-table