oracle9i数据库,通过pl/sql操作,现有一表WW,有K,a,b,c,d五个字段,3000到4000左右条记录,欲求甲,乙2个结果,要对所有记录执行如下操作:
如果K=1,
一:若(a-b)-c>=0,甲=b,乙=c;
二:若(a-b)-c <0,甲=b,乙=a-b;
如果K=0,
一:若(a-b)-d>=0,甲=b+d,乙=0;
二:若(a-b)-d <0,甲=a,乙=0; 最后,对甲和乙的结果分别累加,输出甲和乙的结果,如果现在还想求sum(a)的值呢??sum(a)只要直接求就可以了不要加这些判断条件,
也就是说,输出的结果是sum(甲),sum(乙),sum(a),恳求具体的SQL语句,不胜感激!!
如果K=1,
一:若(a-b)-c>=0,甲=b,乙=c;
二:若(a-b)-c <0,甲=b,乙=a-b;
如果K=0,
一:若(a-b)-d>=0,甲=b+d,乙=0;
二:若(a-b)-d <0,甲=a,乙=0; 最后,对甲和乙的结果分别累加,输出甲和乙的结果,如果现在还想求sum(a)的值呢??sum(a)只要直接求就可以了不要加这些判断条件,
也就是说,输出的结果是sum(甲),sum(乙),sum(a),恳求具体的SQL语句,不胜感激!!
解决方案 »
- sql insert之后如何返回主键值?在asp.net程序里面的sql语句怎么写?
- 请教一条查询语句(建表语句,初始化数据已做好)
- 如何用sql实现这样的效果:一列数放到一行中返回?
- oracle10g的客户端能链接11g么,我今天试着没有链接上?
- Oracle中如何判断是否为数字?
- 用户方案
- 求救!我想在oracle包体中实现excel的宏,并能生成excel报表。请高手帮忙
- 关于更新SQL中用左关联问题
- ora-31032 XML语法分析失败 出现错误 LPX-217(在encoding an XML docment to CSX 期间)
- Oracle 比较日期范围 结果不准确
- oracle安装问题
- oracle基础问题
select sum(甲) , sum(乙) 乙,su
from (select case
when k = 1 then
b
when (k = 0 and a - b - d > 0) then
b + d
when (k = 0 and a - b - d < 0) then
a
end 甲 ,
case
when k = 0 then
0
when (k = 1 and a - b - c > 0) then
c
when (k = 1 and a - b - c < 0) then
a - b
end 乙,sum(a) su
from ww)
from (select case
when k = 1 then
b
when (k = 0 and a - b - d > 0) then
b + d
when (k = 0 and a - b - d < 0) then
a
end 甲 ,
case
when k = 0 then
0
when (k = 1 and a - b - c > 0) then
c
when (k = 1 and a - b - c < 0) then
a - b
end 乙,sum(a) su
from ww)这么做反复提示"not a single-group group function",如果不求sum(a),只求sum(甲),sum(乙),语句没问题,
不知道问题到底出在哪??
sum(a) 用到外层
里层就吧 a SELECT 出来就是了select sum(甲) , sum(乙) 乙,sum(a)
from (select case
when k = 1 then
b
when (k = 0 and a - b - d > 0) then
b + d
when (k = 0 and a - b - d < 0) then
a
end 甲 ,
case
when k = 0 then
0
when (k = 1 and a - b - c > 0) then
c
when (k = 1 and a - b - c < 0) then
a - b
end 乙,a
from ww)
保留原来的查询结果不变,还要增加YY.m=WW.m时表YY中n字段的查询结果,也就是说,最终的查询
结果输出的应该是:YY.n,sum(甲),sum(乙),sum(a),求具体的SQL语句,
问题越来越复杂了,实在不好意思