oracle数据库中用decode函数后,列变行怎么没有值了啊

selectt.sname姓名,sum(decode(t.ssc,'语文',t.zz))语文,sum(decode(t.ssc,'数学',t.zz))数学,sum(dec... select t.sname 姓名,
sum(decode(t.ssc, '语文', t.zz)) 语文,
sum(decode(t.ssc, '数学', t.zz)) 数学,
sum(decode(t.ssc, '英语', t.zz)) 英语,
sum(decode(t.ssc, '历史', t.zz)) 历史
from (select m.mname sname, s.score zz, f.fname ssc
from member m, score s, f
where f.fid = s.fid
and m.mid = s.mid) t
group by t.sname;
其中 score 是成绩表包含
字段名称
SID
FID
MID
Score
课程表:F
字段名称
FID
FName
学生表:Member
字段名称
MID
MName
展开
 我来答
badkano
2013-03-30 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885372
团长

向TA提问 私信TA
展开全部
select t.sname 姓名,
sum(nvl(decode(t.ssc, '语文', t.zz),0)) 语文,
sum(nvl(decode(t.ssc, '数学', t.zz),0)) 数学,
sum(nvl(decode(t.ssc, '英语', t.zz),0)) 英语,
sum(nvl(decode(t.ssc, '历史', t.zz),0)) 历史
from
(select m.mname sname, s.score zz, f.fname ssc
from member m, score s, f
where f.fid = s.fid
and m.mid = s.mid) t
group by t.sname;

都加上nvl试验一下
更多追问追答
追问

 不行还是没有值

追答
发点三个表的数据看看,我帮你调一下

你只执行括号里那段子查询,你看有结果没?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式