如何在Google Big Query中通过查询合并两个表的行?
在Google BigQuery中合并两个结构相似的表
你可以使用UNION ALL语句直接通过查询实现行堆叠合并,无需创建新表,具体方案如下:
基础实现
SELECT dt_sell, cod_material, cod_channel FROM `你的项目ID.数据集名称.表1` UNION ALL SELECT dt_sell, cod_material, cod_channel FROM `你的项目ID.数据集名称.表2`
说明
UNION ALL会原样保留两个表的所有行(包括重复行),完全满足将一个表的行置于另一个表行下方的需求- 请将语句中的
你的项目ID.数据集名称替换为实际的项目ID和数据集名称,表名替换为你的表1、表2的真实名称
严格保证顺序的实现
如果需要确保表1的行全部排在表2之前(避免BigQuery执行计划可能导致的顺序变化),可以添加排序字段:
SELECT dt_sell, cod_material, cod_channel FROM ( SELECT dt_sell, cod_material, cod_channel, 1 AS sort_order FROM `你的项目ID.数据集名称.表1` UNION ALL SELECT dt_sell, cod_material, cod_channel, 2 AS sort_order FROM `你的项目ID.数据集名称.表2` ) ORDER BY sort_order
内容的提问来源于stack exchange,提问作者JoaoPedroMatias
相关产品推荐
相关产品推荐

