【问题标题】:DELETE rows with condition inside a query in BigQuery在 BigQuery 中的查询中删除带有条件的行
【发布时间】:2019-07-08 11:57:51
【问题描述】:

我正在 BigQuery 中使用选择查询创建一个新表,并且我希望能够在没有 prd.univ 为 NULL 的行的情况下创建。

我的查询如下:

 select
        prd.key_web
        , dat_log
        , prd.nrb_fp
        , prd.tps_fp
        , prd.univ
        , prd.suniv
        , prd.fam
        , prd.sfam
    from product as prd
    left join cart as cart
        on prd.key_web = cart.key_web
        and prd.dat_log = cart.dat_log
        and prd.univ = cart.univ
        and prd.suniv = cart.suniv
        and prd.fam = cart.fam
        and prd.sfam = cart.sfam

这里的目的是以最少的步骤从我的结果表中排除 prd.univ 值为 NULL 的行。

【问题讨论】:

  • 提示:WHERE prd.univ IS NOT NULL.

标签: sql google-bigquery


【解决方案1】:

你需要where条件

where prd.univ is not null

【讨论】:

    【解决方案2】:

    LEFT JOIN 没有意义,因为您只是从第一个表中获取列。然后,您的过滤就是 WHERE 子句:

    select prd.key_web, prd.dat_log, prd.nrb_fp, prd.tps_fp,
           prd.univ, prd.suniv, prd.fam, prd.sfam
    from product prd
    where prd.univ is not null;
    

    【讨论】:

    • 我忘了删除那部分,它是我正在执行的涉及其他列的更大查询的一部分。为了简单起见,我删除了它们。
    猜你喜欢
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多