oracle 查询的时候加条件判断

方法一.
select a.idcard,
SUM(
CASE WHEN a.subject_code=2 THEN a.SCOPE ELSE 0 END
)

,
SUM(
CASE WHEN a.subject_code=3 THEN a.SCOPE ELSE 0 END
)
,
SUM(
CASE WHEN a.subject_code=4 THEN a.SCOPE ELSE 0 END
)
,
SUM(
CASE WHEN a.subject_code=5 THEN a.SCOPE ELSE 0 END
)
from cm_student_score a

GROUP BY a. idcard


注:使用方法
SUM(
CASE WHEN a.subject_code=2 THEN a.SCOPE ELSE 0 END
)
如果a.subject_code=2则值为a.SCOPE,否则为0
而SUM()这方法是,把里面所有的成绩全部加起来.意思:所有subject_code=2的总成绩

方法二:
SELECT a.idcard,sum(DECODE(subject_code,2,SCOPE,0)) subject_code2,

sum(DECODE(subject_code,2,SCOPE,0)) subject_code3,

sum(DECODE(subject_code,2,SCOPE,0)) subject_code4,

sum(DECODE(subject_code,2,SCOPE,0)) subject_code5

FROM cm_student_score GROUP BY a. idcard

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值