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

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
...全文
519 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧