基于字段位置而非名称的BigQuery联合架构

时间:2019-05-15 07:35:52

标签: google-bigquery

是否可以运行BigQuery联合查询并使模式取决于字段名称而不是字段位置。以下查询的结果并不直观,因为字段在基础表中的顺序不同,所以字段在何处进行转置。

with table1 as (
  select 
    '1' as field_1,
    '2' as field_2
),

table2 as (
  select 
    '2' as field_2,
    '1' as field_1
)


select * from table1
union all 
select * from table2

查询结果
enter image description here

1 个答案:

答案 0 :(得分:1)

无论表的定义方式如何,您都可以按适当的顺序按名称选择列:

SELECT
  field_1,
  field_2
FROM table1
UNION ALL
SELECT
  field_1,
  field_2
FROM table2

也许最好重新排序基础表中的列,

CREATE OR REPLACE table2 AS
SELECT
  field_1,
  field_2
FROM table2

那么您的列顺序是一致的。