根据另一个表中的列更新表中的列

问题描述 投票:0回答:3

我有两张桌子。患者表具有PatientName,Age和Sex。访问表具有PatientName,SpecialistName,DateOfVisit和Age Column,其中尚未包含任何值。我想根据患者表中患者的年龄更新访问表中的年龄列。这是我最好的猜测,但收到的信息是:

“操作必须使用可更新的查询。”

update visits v
set v.age = (
select p.age from
patients p where v.pname = p.pname);
sql select
3个回答
1
投票

如果你正在使用MSSQL

UPDATE v
SET v.Age = p.Age
FROM visits V INNER JOIN patients p
ON v.pname = p.pname

如果你正在使用MySQL

UPDATE visits V
INNER JOIN patients p
ON v.pname = p.pname
SET v.Age = p.Age

See this Link: UPDATE with JOIN


0
投票

尝试使用from子句如下:

update visits v
set v.age = p.age
from patients p 
where v.pname = p.pname;

0
投票

这很简单

update visits v, patients p set v.age = p.age where v.pname = p.pname;
© www.soinside.com 2019 - 2024. All rights reserved.