提问人:Gerard Ayissi 提问时间:10/5/2023 最后编辑:Gerard Ayissi 更新时间:10/5/2023 访问量:54
将 2 个独立表插入到 BigQuery 嵌套表中
insert into BigQuery nested tables from 2 individual tables
问:
我有 2 个单独的表,尝试插入到嵌套(ARRAY 和 STRUCT)的第 3 个表中,使用 insert ...SELECT 语句
单个表: USERS(用户 ID、名字、姓氏)
地址(用户 ID、街道、城市、州)
嵌套表: MEMBERS(用户 ID、名字、姓氏、地址)
每个用户可以有多个地址,key 是 userid
寻找类似 INSERT INTO MEMBERS (userid, firstname, lastname, addresses) SELECT userid, firstname, lastname, (地址的数组结构)
我希望所有用户都插入到嵌套表中,并且每个用户可以有多个地址。
答:
0赞
sarath.mec
10/5/2023
#1
使用以下查询
ARRAY_AGG是分组函数,用于将多个 STRUCT 记录分组到重复结构中
INSERT INTO MEMBERS
(userid, firstname, lastname, addresses)
SELECT
u.userid,
u.firstname,
u.lastname,
ARRAY_AGG(STRUCT(m.street, m.city, m.state)) AS addresses
FROM USERS u
LEFT JOIN MEMBERS m
ON (m.userid = u.userid)
GROUP BY
u.userid,
u.firstname,
u.lastname;
评论