求解,oracle 查询更新,两张表

[复制链接]
查看11 | 回复4 | 2011-10-31 03:41:42 | 显示全部楼层 |阅读模式
A,B两张表结构相同,B作为A的检校数据,数据有差异以B为准id,name,status,timeid是主键,status为01,或021,找出A中所有status等于01,time与B中不同的记录2,更新A中status等于02的记录中的time字段为B中的time值
回复

使用道具 举报

千问 | 2011-10-31 03:41:42 | 显示全部楼层
1楼的最后一个and应该是where1.selecta.*fromAa,Bbwherea.id=b.idanda.status=01anda.time!=b.time2.updateAaseta.time=(selectb.timefromBbwherea.id=b.id)wherea.status=02
回复

使用道具 举报

千问 | 2011-10-31 03:41:42 | 显示全部楼层
selecta.id,a.name,a.status,a.timefroma,bwherea.id=b.idanda.timeb.timeanda.status=01;赞同
回复

使用道具 举报

千问 | 2011-10-31 03:41:42 | 显示全部楼层
第一题select*fromAinnerjoinBonA.ID=B.IDwhereA.status=\'01\'andA.time!=B.time第二题updateAsetA.time=B.timefromBwhereA.status=\'02\'andB.ID=A.ID赞同
回复

使用道具 举报

千问 | 2011-10-31 03:41:42 | 显示全部楼层
1.SELECT*FROMA,BWHEREA.STATUS=\'01\'ANDA.TIMEB.TIME2.UPDATEASETTIME=(SELECTTIMEFROMBWHEREA.ID=B.ID)WHEREA.status=\'02\'赞同
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行