Выполните обновление через левое соединение в Снежинке - PullRequest
0 голосов
/ 04 декабря 2018

Обычно я создавал бы эту таблицу с одним оператором SELECT с коррелированными подзапросами, но я не могу в Snowflake?В любом случае, я хочу обновить все строки в таблице специальным значением (9999) для тех, которые не совпадают.В T-SQL я бы сделал что-то вроде

update x
set x.value = coalesce(n.value2, 9999)
from x
left join n
on x.id = n.id

Как я могу сделать то же самое в Snowflake?

1 Ответ

0 голосов
/ 06 декабря 2018

Согласно документации здесь вы не используете ключевое слово JOIN, а вместо этого выполняете объединение в WHERE следующим образом:

update t1
  set t1.number_column = t1.number_column + t2.number_column, t1.text_column = 'ASDF'
from t2
where t1.key_column = t2.t1_key and t1.number_column < 10;
...