【发布时间】:2020-12-22 02:40:44
【问题描述】:
我正在尝试将包含项目 id 的嵌套数组的一些项目数据表 (table1) 加入另一个包含项目数据 (table2) 的表(此处的顺序很重要强>)
table1
proj_date num_proj_per_day proj_size proj_id(nested)
1/1/2020 4 150 a123
b456
c789
table2
proj_id(not nested) proj_loc lots_of_other_proj_fields....
a123 Los Angeles
b456 New York
c798 Los Angeles
d012 Denver
.... ....
想要的结果
proj_date num_proj_per_day proj_size proj_id(unnested) pro_loc
1/1/2020 4 150 a123 Los Angeles
1/1/2020 4 150 b456 New York
1/1/2020 4 150 c789 Los Angeles
如果我用table1作为from编写sql代码,然后cross join unnest(proj_id),然后left join table2,我已经能够实现这个结果。 问题是我需要在 from 语句中有 table2,然后在 unnested(proj_id) 上加入 table1。订单很重要,因为我必须将这个新数据集(table1)合并到 Looker 中的现有数据集/框架(table2)中
获得正确结果但不适用于我的应用程序的示例
SELECT
table1.*,
table2.proj_loc
FROM table1
CROSS JOIN UNNEST(table1.proj_id) as unnested
LEFT JOIN table2
ON table2.proj_id = unnested.proj_id
我正在寻找类似下面的内容,但您不能将 unnest 放入 ON 子句 - bigquery 弹出错误“意外关键字 UNNEST”
SELECT
table1.*,
table2.proj_loc
FROM table2
LEFT JOIN table1
ON UNNEST(table1.proj_id)=table2.proj_id
提前感谢您,如果您需要更多澄清信息,请告诉我
【问题讨论】:
标签: sql arrays join google-bigquery unnest