代码之家  ›  专栏  ›  技术社区  ›  Tomas Jansson

可以在列数不同的表上执行bigquery通配符选择吗?

  •  0
  • Tomas Jansson  · 技术社区  · 8 年前

    X_yyyyMMdd 只有一个字段 a b

    X_* 现在,第一个版本的表中的所有列都获得了默认值column b

    我想写的是:

    SELECT a, IF_FIELD_EXISTS(b, default_value) FROM X_*
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Mikhail Berlyant    8 年前

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

    如果b是阵列(可重复字段)-请在下面使用

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