【问题标题】:Big Query - Only insert if column value does not exist大查询 - 仅在列值不存在时插入
【发布时间】:2017-01-24 21:29:53
【问题描述】:

Big Query 是否支持“REPLACE INSERT”之类的操作或与之相关的操作?

如果我两次运行这样的查询:

INSERT INTO table(column1) VALUES(1)

它会创建一个重复的行,是否只有在不存在具有相同值的列时才可以插入一行?

谢谢!

【问题讨论】:

    标签: sql google-app-engine google-bigquery


    【解决方案1】:

    下面应该可以了

    #standardSQL
    INSERT INTO yourTable(column1)
    SELECT value FROM (SELECT 1 AS value) 
    LEFT JOIN yourTable  
    ON column1 = value
    WHERE column1 IS NULL
    

    【讨论】:

    • 你能解释一下这个说法吗?
    【解决方案2】:

    这对你有用吗?

    INSERT INTO table(column1)
    WITH s AS (SELECT 1 src)
    SELECT src FROM s WHERE NOT EXISTS (
      SELECT * FROM table t WHERE t.column1 = s.src
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-26
      • 2018-01-17
      • 2017-07-10
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 2011-03-25
      相关资源
      最近更新 更多