0

这是我使用雪花的第二天,我了解https://docs.snowflake.net/manuals/sql-reference/sql/alter-table-column.html中的文档可能涵盖了我正在尝试的一些内容做,但我迷失了术语。

基础知识:我有一个名为“Transactions”的表,其中包含 Salesrep (Salesrep_Number) 的键和另一个名为“SALESREPS”的表,两个列名为 Salesrep_Region 和相同的 Salesrep_Number。我想使用 Salesrep_Number 作为连接键将 Salesrep_Region 从“Sales Reps”添加到“Transactions”。

这是我尝试过的。首先,我为“交易”中为空的“Salesrep_Region”创建了一个列。下一个,

ALTER TABLE "SANDBOX"."AVISMA"."TRANSACTIONS" 修改列 SALESREP_REGION

从 "SANDBOX"."AVISMA"."SALESREPS" 中选择不同的 "SALESREP_REGION, SALESREP_NUMBER"

其中 "SANDBOX"."AVISMA"."TRANSACTIONS".SALESREP_NUMBER="SANDBOX"."AVISMA"."SALES_REPS".SALESREP_NUMBER

我有一个错误。只需添加带有左连接的列而不重新创建整个“TRansactions”表应该很简单。我该怎么做呢?

4

1 回答 1

0

您是否尝试过使用 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 上是唯一的时,这才有效。

于 2020-03-13T23:34:49.643 回答