Oracle数据库,关于关联两张表更新问题
如有主表A,子表B,当主表A对应的子表B数据条数不为0,并且,所有子表B的数据中某字段(如status)都为30时,则更新主表A的status字段为30.。非常感谢...
如有主表A,子表B,当主表A对应的子表B数据条数不为0,并且,所有子表B的数据中某字段(如status)都为30时,则更新主表A的status字段为30.。非常感谢
展开
2个回答
展开全部
--因为没有给出a、b两个表的关联,所以用a.id和b.aid做了关联
update a aa set status=30
where
(select count(status) from b where a.id=b.aid)>0 --确定b表有A表子数据
and
(select count(status) from b where a.id=b.aid and b.status<>30)=0--b表子数据status<>30个数=0个,说明子数据status全部为30
update a aa set status=30
where
(select count(status) from b where a.id=b.aid)>0 --确定b表有A表子数据
and
(select count(status) from b where a.id=b.aid and b.status<>30)=0--b表子数据status<>30个数=0个,说明子数据status全部为30
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询