各位大侠,想用一张表的某列更新另一张表的某列,语句"update ygxxk set gzzt=b.qjlb from ygxxk a,ygqjxxk b where a.sfzhm=b.sfzhm ",但一直提示“语法错误(操作符丢失)”,请问题到底是哪里出错,用“update ygxxk set gzzt=b.qjlb from ygxxk a inner join ygqjxxk b on a.sfzhm=b.sfzhm”也不行。应该怎么样写呢,谢谢!
调试欢乐多
update ygxxk set gzzt = ygqjxxk.qjlb from ygxxk, ygqjxxk where ygxxk.sfzhm = ygqjxxk.sfzhm
update ygxxk
set gzzt=ygqjxxk.qjlb
from ygqjxxk
where ygxxk.sfzhm=ygqjxxk.sfzhm
update ygxxk set gzzt=ygqjxxk.qjlb from ygxxk join ygqjxxk on ygxxk.sfzhm = ygqjxxk.sfzhm
use master
gocreate table A
(
users varchar(20) ,
addjifen int
)
gocreate table B
(
users varchar(20) ,
jifen int
)
goinsert into A values('张三',100)
insert into B values('张三',20)select * from A
select * from BUPDATE
B
SET
jifen = jifen + addjifen
FROM
B JOIN A
ON (B.users = A.users)这是我写的一个关于多表修改的例子,你可以参考下
update ygxxk set gzzt=
(select b.qjlb from ygqjxxk b
where a.sfzhm=b.sfzhm)
where exists
(select b.qjlb from ygqjxxk b
where a.sfzhm=b.sfzhm)