将一个表中的某个字段的值修改为另一个表中的同样的字段的值

wzm1983262 2006-03-09 10:50:45
表1: dm_yd
ypid ypmc grj
00001 amxl 0.00
00002 blg 0.50
00003 bjh 12.00
00004 xktk 8.00
00005 654_2z 0.00
00006 ml 0.00
.... .... .....

表2: aaa
ypid ypmc grj
00001 amxl 4.00
00002 blg 0.60
00003 bjh 11.00
00004 xktk 7.90
00005 654_2z 0.45
00006 ml 3.90

要求 修改表dm_yd中的grj使[dm_yd].grj=[aaa].grj 条件是 [dm_yd].grj='0.00' and [dm_yd].ypmc = [aaa].ypmc
...全文
369 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tianyan316 2006-03-09
update dm_yd set dm_yd.grj=aaa.grj from dm_yd,aaa where dm_yd.ypid in
(select dm_yd.ypid from dm_yd,aaa where dm_yd.grj='0.00' and dm_yd.ypmc=aaa.ypmc)

我试了下没有问题你看看符合你的要求不`
回复
wzm1983262 2006-03-09
select * into #dm_yd from dm_yd
回复
wzm1983262 2006-03-09
各位的方法都可以实现,但是实际中dm_yd这个表中的字段不止3个,最少也有20个。还有没有其他好方法?
谢谢各位!
回复
OracleRoob 2006-03-09
create table #dm_yd(ypid varchar(100), ypmc varchar(100), grj varchar(100))

create table #aaa(ypid varchar(100), ypmc varchar(100), grj varchar(100))

update #dm_yd set grj=B.grj
from #dm_yd A inner join #aaa B on A.ypmc=B.ypmc
where A.grj='0.00'

drop table #dm_yd,#aaa
回复
a97191 2006-03-09
mark
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-03-09 10:50
社区公告
暂无公告