Select temp.iForver from (Select TTID,distinct(Ifover) From DetailTable ) temp,
DetailTable t where t.TTId=temp.TTid
判断Ifover值是否为I如为1那就可以更新主表如果是0或0,1哪就为0
DetailTable t where t.TTId=temp.TTid
判断Ifover值是否为I如为1那就可以更新主表如果是0或0,1哪就为0
解决方案 »
- 关于oracle表空间的问题
- backup 函数
- 求助个存储过程,该怎么写.多谢!
- sql问题
- 如何控制游标
- pig 编程指南
- Oracle pl/sql编程时,运算表达式中有空值,则结果为空?如何让它忽略空值?
- Linux下新建用户登陆oracle出错
- TYPE t_c_partition_id IS TABLE OF NUMBER(3) INDEX BY BINARY_INTEGER是什么意思
- 请大家帮我介绍一两本目前你认为最好的和最容易上手的Oracle开发书籍
- 请问如何将TNSLSNR.EXE做为一个服务项目,挂在"管理"->"服务"服务项里?
- 请教如何将一个用户下所有的表导入到另一个用户中,只导入表结构,不要数据。解决立刻给分
where a.ttid=b.ttid and b.ifover=0)
---- --
1001 0
1002 0
1003 0SQL> select * from detailtest;D TTID IF
- ---- --
1 1001 0
2 1001 1
3 1002 1
4 1002 1
5 1003 0SQL> update test a set a.ifover='1' where a.ttid not in
2 (select distinct(b.ttid) from test a ,detailtest b where a.ttid=b.ttid and b.ifover='0');已更新 1 行。SQL> select * from test;TTID IF
---- --
1001 0
1002 1
1003 0
'UPDATE WLSGDDETAIL SET IFOVER=1 Where exists (select D.NO_WLSGDDETAILID From WLSGDDETAIL D,WLSGD W Where W.IFCG=1 AND D.STRSHOPID='SH0001' AND D.NO_SGDH=W.NO_SGDH) '其中select语句的结果为47,但结果却把表里的记录全部更新了,为什么呀?
我Select的结果可能是一个集合,又不能用=,该怎么处理呢?请大家帮帮忙啊!