日期:2014-05-17  浏览次数:20777 次

pl\sql 行列转换问题
有个问卷结果表。字段有:问卷Id,题目分类、题号、得分。
数据如下:
问卷Id 题目分类 题号 得分
答卷1     A       1    5
答卷1     A       2    4
答卷1     B       1    3
答卷1     B       2    2
答卷2     A       1    5
答卷2     A       2    4
答卷2     B       1    5
答卷2     B       2    4
答卷3     A       1    5
答卷3     B       2    4

我想要的查询结果:
答卷1  题目分类A均分 题目分类B均分
答卷2  题目分类A均分 题目分类B均分
pl\sql? sql 数据库

------解决方案--------------------
select 问卷Id,
 'A' as '题目分类',
 avg (case when case when 题目分类 = 'A' then 得分 end) as '均分',
 'B' as '题目分类',
 avg (case when case when 题目分类 = 'B' then 得分 end) as '均分'
from 问卷结果表
group by 问卷Id
 
------解决方案--------------------
果断用decode
------解决方案--------------------
引用:
引用:SQL code?1234567select 问卷Id, 'A' as '题目分类', avg (case when case when 题目分类 = 'A' then 得分 end) as '均分', 'B' as '题目分类', avg (case when case when 题目分类 = 'B' then 得分 en……



题目分类不就是A和B吗?已经做列了,你是说还要按题号分组?