簡體   English   中英

來自另一列的SQL更新列

[英]SQL update column from another column

我有一個與此處問題類似的方案: 基於另一個表替換一列的sql列值

我已經嘗試使用下面的代碼這種方法:

update stager."Supplier" set genid=supplierdim.genid
from stager."Supplier" 
join stager.supplierdim on ("Supplier".company_name=supplierdim.company_name)

我正在使用pgAdmin,但始終收到此錯誤:表名稱“ Supplier”指定了多次。

我做錯什么了嗎? 我需要將stager。“ Supplier”表的字段替換為stager.supplierdim中的相應字段,具體取決於公司名稱,這是兩個表中的一個字段。 我這樣做是為了將數據從一個表映射到另一個表。

因為您要參考的問題是為SQL Server標記的,所以這里是該數據庫的正確語法:

update s
     set genid = sd.genid
   from stager."Supplier" s join
        stager.supplierdim sd
        on s.company_name = sd.company_name;

編輯:

MySQL中的語法為:

update stager."Supplier" s join
      stager.supplierdim sd
      on s.company_name = sd.company_name;
   set s.genid = sd.genid;

編輯二:

以及通用SQL:

update stager.Supplier
    set genid = (select min(genid)
                 from stager.supplierdim sd
                 where Supplier.company_name = sd.company_name
                );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM