Добавление столбца из другой таблицы в снежинку - PullRequest
0 голосов
/ 14 марта 2020

Это мой второй день работы со снежинкой, и я понимаю, что документация в https://docs.snowflake.net/manuals/sql-reference/sql/alter-table-column.html может охватывать кое-что из того, что я пытаюсь сделать, но я теряюсь в терминологии.

Основы: у меня есть таблица с именем «Транзакции» с ключом для Salesreps (Salesrep_Number) и другая таблица с именем «SALESREPS», два столбца с именем Salesrep_Region и тот же Salesrep_Number. Я хочу добавить Salesrep_Region из «Sales Reps» в «Транзакции», используя Salesrep_Number в качестве ключа соединения.

Вот что я попробовал. Сначала я создал столбец для «Salesrep_Region», который был нулевым в «Транзакциях». Затем

ALTER TABLE "SANDBOX". "AVISMA". "TRANSACTIONS" MODIFY COLUMN SALESREP_REGION

выберите различное "SALESREP_REGION, SALESREP_NUMBER" из "SANDBOX". "AVISMA". 1012 *

, где "SANDBOX". "AVISMA". "TRANSACTIONS" .SALESREP_NUMBER = "SANDBOX". "AVISMA". "SALES_REPS" .SALESREP_NUMBER

Я получил ошибку. Должно быть просто добавить столбец с левым соединением без воссоздания всей таблицы «TRansactions». Как мне это сделать?

1 Ответ

1 голос
/ 14 марта 2020

Вы пытались использовать инструкцию UPDATE вместо ALTER TABLE? Получив новый столбец в таблице TRANSACTIONS, вы можете просто обновить:

update TRANSACTIONS t
  set t.SALESREP_REGION = sr.SALESREP_REGION
  from SALESREPS sr
  where t.SALESREP_NUMBER = sr.SALESREP_NUMBER;

Это будет работать, только если SALESREP уникально для SALESREP_NUMBER.

...