[英]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.