update tbl_point_bidder bidder
set point=(select SUM(pt.point)/SUM(DECODE(POINT_STATUS,0,0,1)
from tbl_point_bidder pt
where pt.project_id =221
and pt.expert_idcard not in ('0','-1','-3')
and pt.organ_id = bidder.organ_id
and pt.index_id = bidder.index_id
group by bidder.organ_id)
where project_id =221 and expert_idcard = '-1'
set point=(select SUM(pt.point)/SUM(DECODE(POINT_STATUS,0,0,1)
from tbl_point_bidder pt
where pt.project_id =221
and pt.expert_idcard not in ('0','-1','-3')
and pt.organ_id = bidder.organ_id
and pt.index_id = bidder.index_id
group by bidder.organ_id)
where project_id =221 and expert_idcard = '-1'
解决方案 »
- 极其离谱的现象看哪位超级高手能揭开谜底。
- imp导入
- 刚装的oracle10g 监听器启不了!帮帮我.
- 求助:oracle的表如何删除重复行
- 请问怎样恢复我的数据库??
- 这么简单一个存储过程怎么编译不通?
- 请问使用jsp + oracle 的大侠:4000字符以上的字段用什么类型?如何处理添加、修改?
- 刚从网上下了一个oracle 9i,安装时提示插入磁盘1????不知道到那里去找磁盘1??
- 急!急!帮忙呀!一个连接数据库的错误!(解决马上揭贴给分)
- 远程shell linux 服务器 进去oracle 数据库报错
- 问一个很简单的时间类型转换问题!急!!
- 如何增加oracle的进程啊?急~~~~~~
好像是sql server的语法啊
你的语句我试过了,不行的!!!
col
1
2
null
null
3这里avg(col)的值是2,而不是6/5=1.2
...
group by bidder.organ_id having count(*)<>count(index_id)
...
update tbl_point_bidder bidder set point=(select avg(pt.point) from tbl_point_bidder pt where pt.project_id =221 and pt.expert_idcard not in ('0','-1','-3') and pt.organ_id = bidder.organ_id and pt.index_id = bidder.index_id and pt.point is not null
group by bidder.organ_id) where project_id =221 and expert_idcard = '-1'
这个语句我试过了,结果还是不对,
set point=(select avg(pt.point) from tbl_point_bidder pt
where pt.project_id =221
and pt.expert_idcard not in ('0','-1','-3')
and pt.organ_id = bidder.organ_id
and pt.index_id = bidder.index_id
group by bidder.organ_id ---这里是不是应该pt.organ_id ?
having count(*) = count(point) ---加这一句
)
where project_id =221 and expert_idcard = '-1'