您的位置:首页 > 数据库

SQL之根据一个表去修改另一个表中的数据

2013-12-05 15:50 274 查看

一、数据准备

--创建两个表格,分别插入数据
create table tbl1
(
id int identity(1,1) primary key,
txt nvarchar(50)
)
go
insert into tbl1(txt) values('abc')
insert into tbl1(txt) values('bbb')
insert into tbl1(txt) values('ccc')
insert into tbl1(txt) values('ddd')
go

create table tbl2
(
id int,
txt nvarchar(50)
)
go

insert into tbl2(id) values(1)
insert into tbl2(id) values(2)
insert into tbl2(id) values(3)
insert into tbl2(id) values(4)
go
此时两个表格中的数据分别为

tbl1
idtxt
1abc
2bbb
3ccc
4ddd
tbl2
idtxt
1Null
2Null
3Null
4Null

二、通过语句修改

此要修改tbl2表中的txt,要根据id去tbl1中去找相应记录进行修改

update tbl2 set tbl2.txt=tbl1.txt from tbl1,tbl2 where tbl1.id=tbl2.id   --SQLServer中的写法

update tbl2 set tbl2.txt=tbl1.txt from tbl1 inner join tbl2 on tbl1.id=tbl2.id  --SQLServer中的写法


同样的情况,以上语句用在Access中就会报错,

Access中遇到此种情况修改的写法为
update tbl1,tbl2 set tbl2.txt=tbl1.txt where tbl1.id=tbl2.id  --Access中的写法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息