2017-01-24 4 views
2

Поддерживает ли Big Query такие операции, как «ЗАМЕНИТЬ ВСТАВКУ» или что-то в этом отношении?Big Query - Вставить только в том случае, если значение столбца не существует

Если я выполнить запрос, как это дважды:

INSERT INTO table(column1) VALUES(1) 

Это будет создавать дублированную строку, можно вставить строку только если столбец с тем же значением, не существует?

Спасибо!

ответ

3

Ниже следует сделать

#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 
)