SQL从另一列更新列
我有一个类似于问题中的场景: 我已使用以下代码尝试了此方法:SQL从另一列更新列,sql,postgresql,join,mapping,sql-update,Sql,Postgresql,Join,Mapping,Sql Update,我有一个类似于问题中的场景: 我已使用以下代码尝试了此方法: update stager."Supplier" set genid=supplierdim.genid from stager."Supplier" join stager.supplierdim on ("Supplier".company_name=supplierdim.company_name) 我使用的是pgAdmin,我经常遇到这样的错误:多次指定了表名“Supplier” 我做错什么了吗?我需要将stager.su
update stager."Supplier" set genid=supplierdim.genid
from stager."Supplier"
join stager.supplierdim on ("Supplier".company_name=supplierdim.company_name)
我使用的是pgAdmin,我经常遇到这样的错误:多次指定了表名“Supplier”
我做错什么了吗?我需要将stager.supplierdim表中的字段替换为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
);
你使用的是什么数据库?数据库的名称是Tastrade,stager是其中的一个模式,当我使用你在更新stager中添加的MySQL版本时。。。我得到这个错误:错误:语法错误在或接近“join”