是否可以在列数不同的表上进行大查询通配符选择?

时间:2017-06-27 18:10:36

标签: google-bigquery

在架构版本中,我的表X_yyyyMMdd只有一个字段a。在下一个版本中,我决定添加一个字段b

如何对X_*选择外卡,现在第一个版本的表格中的所有列都会获得列b的默认值。

我想写的是:

SELECT a, IF_FIELD_EXISTS(b, default_value) FROM X_*

1 个答案:

答案 0 :(得分:2)

是。下面应该工作!

   
#standardSQL
SELECT a, IFNULL(b, default_value) as b
FROM `project.dataset.X_*`

如果b是ARRAY(可重复字段),请使用以下

#standardSQL
SELECT 
    a, 
    CASE 
        WHEN ARRAY_LENGTH(b)=0 THEN [default_value]
        ELSE b 
    END AS b
FROM `project.dataset.X_*`