select staffid 员工号 , sum(case when type = 0 money else 0 end ) 正常金额,
sum(case when type = 1 money else 0 end ) 异常金额 ,sum(money ) 所有金额
group staffid.
具体case语法查询一下帮助,可能有问题。
sum(case when type = 1 money else 0 end ) 异常金额 ,sum(money ) 所有金额
group staffid.
具体case语法查询一下帮助,可能有问题。
解决方案 »
- sqlldr 可以用来给db link的table 装载数据吗?
- 数据库如何提高
- Pro*C的集成问题
- 求一条sql语句
- pl/sql 有无 bool-excption?a:b;这样的三元运算符?
- 执行存储过程出错
- 急等大哥解决:在程序中 insert 一个不超过2000个字符的字符串时,提示出错‘文字太长’ !!!
- 请进,给个解决问题的思路?
- ORACLE服务下的各项各代表什么意思?一定高分回报!!!
- 我对创建trigger 语句中出现的referencing old as old new as new for each row不太理解,old 和new 各表示何意??
- database configuration 问题
- 如何查看包的定义信息
FROM A
WHERE A.type = '0'
GROUP BY A.staffid
union
SELECT SUM(A.money)
FROM A
WHERE A.type = '1'
GROUP BY A.staffid
union
SELECT SUM(A.money)
FROM A
GROUP BY A.staffid
a.staffid 员工号,
sum(decode(a.type,0,a,money,0)) 正常金额总和,
sum(decode(a.type,1,a.money,0)) 异常金额总和,
sum(a.money) 所有金额
from
tablea a
group by
a.staffid
select
a.staffid 员工号,
sum(decode(a.type,0,a.money,0)) 正常金额总和,
sum(decode(a.type,1,a.money,0)) 异常金额总和,
sum(a.money) 所有金额
from
tablea a
group by
a.staffid
sum(decode(type,0,money,0)) 正常金额,
sum(decode(type,1,money,0)) 异常金额,
sum(money) 所有金额
from table_name
group by staffid
2 staffid 员工号,
3 sum(decode(type,0,money,0)) 正常金额总和,
4 sum(decode(type,1,money,0)) 异常金额总和,
5 sum(a.money) 所有金额
6 from
7 a
8 group by
9* staffid
SQL> /员工号 正常金额总和 异常金额总和 所有金额
-------------------- ------------ ------------ ----------
001 100 200 300
002 500 700 1200
003 1500 1200 2700
004 2000 0 2000SQL>