SQL/BigQuery基于多表关联新增列实现指定输出的可行性问询
完全可以通过标准SQL实现,且语法兼容BigQuery,只需要将主表分别和tb_1、tb_2表做左关联,再通过条件判断按规则生成对应字段即可,参考实现代码如下:
SELECT m.ID, m.Table_Name, CASE WHEN m.Table_Name = 'tb_1' THEN m.ID ELSE t1.tb1_id END AS tb1_id, CASE WHEN m.Table_Name = 'tb_2' THEN m.ID ELSE t2.tb2_id END AS tb2_id FROM `your_project.your_dataset.main_table` m LEFT JOIN `your_project.your_dataset.tb_1` t1 ON m.ID = t1.a_ID LEFT JOIN `your_project.your_dataset.tb_2` t2 ON m.ID = t2.b_ID ORDER BY m.ID ASC
上述代码逻辑完全匹配你给出的取值规则,执行后输出结果和你提供的预期结果完全一致。如果你的表路径不同,替换掉代码里的表路径即可直接运行。
内容的提问来源于stack exchange,提问作者PHegde
相关产品推荐
相关产品推荐

