一个update 语句,请教各位

beibeilong9166 2003-10-21 11:11:05
update BCS_RECVLIST_NEW
SET checkstatus='1'
where
BOSSSerialNumber in (
select BossSerialNumber
from BCS_TRANSFER_DETIAL_NEW)
and RECVFEE=(select distinct BCS_TRANSFER_DETIAL_NEW.TransferAmount
from BCS_RECVLIST_NEW,BCS_TRANSFER_DETIAL_NEW
where BCS_RECVLIST_NEW.BOSSSerialNumber= BCS_TRANSFER_DETIAL_NEW.BossSerialNumber);

我想把表BCS_RECVLIST_NEW中满足where中两个条件的记录的checkstatus字段设为‘1’;
具体条件为:
1 BOSSSerialNumber 在 BCS_TRANSFER_DETIAL_NEW 中存在
2 RECVFEE 等于表 BCS_TRANSFER_DETIAL_NEW 中与它的BOSSSerialNumber对应的那条记录的TransferAmount

请教各位大侠该怎么写?
...全文
44 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Oracle10g 2004-02-25
  • 打赏
  • 举报
回复
初学 ORACLE 有很多地方不明白,请教个问题:
TableA 表的字段: Num Number(5),Name VarChar(20)

TableB 表的字段: Num Number(5),Name VarChar(20),IsOld Number(1) Default 0

用 SQL 2000 的描述方法是:
Update B
set B.Name = A.Name,B.IsOld = 0
from TableA A,TableB B
where A.Num = B.Num and B.IsOld = 1;
在 ORACLE 中怎实现?
beckhambobo 2003-10-21
  • 打赏
  • 举报
回复
update BCS_RECVLIST_NEW a
SET checkstatus='1'
where exists(select 1 from BCS_TRANSFER_DETIAL_NEW b where a.BOSSSerialNumber=b.BossSerialNumber and a.RECVFEE=b.TransferAmount);
beibeilong9166 2003-10-21
  • 打赏
  • 举报
回复
谢谢大家!以后多请教
jasoncheung 2003-10-21
  • 打赏
  • 举报
回复
update BCS_RECVLIST_NEW set checkstatus='1' where
RECVFEE in (select TransferAmount from BCS_TRANSFER_DETIAL_NEW where BOSSSerialNumber=BCS_RECVLIST_NEW.BOSSSerialNumber)
beibeilong9166 2003-10-21
  • 打赏
  • 举报
回复
多谢高手相助
pengdali 2003-10-21
  • 打赏
  • 举报
回复
update BCS_RECVLIST_NEW set checkstatus='1' where
RECVFEE in (select TransferAmount from BCS_TRANSFER_DETIAL_NEW where BOSSSerialNumber=BCS_RECVLIST_NEW.BOSSSerialNumber)

or

update BCS_RECVLIST_NEW set checkstatus='1' where
RECVFEE=(select distinct TransferAmount from BCS_TRANSFER_DETIAL_NEW where BOSSSerialNumber=BCS_RECVLIST_NEW.BOSSSerialNumber)

or


update BCS_RECVLIST_NEW set checkstatus='1' where
exists (select * from BCS_TRANSFER_DETIAL_NEW where BOSSSerialNumber=BCS_RECVLIST_NEW.BOSSSerialNumber and TransferAmount=BCS_RECVLIST_NEW.RECVFEE)
pengdali 2003-10-21
  • 打赏
  • 举报
回复
update BCS_RECVLIST_NEW set checkstatus='1' where BOSSSerialNumber in (select BossSerialNumber from BCS_TRANSFER_DETIAL_NEW) and RECVFEE in (select TransferAmount from BCS_TRANSFER_DETIAL_NEW where BOSSSerialNumber=BCS_RECVLIST_NEW.BOSSSerialNumber)

???

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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