表记录是这样的
pj empid
1个A 2
6个B 2
3个C 2
4个D 2
2个A 3
3个B 3
3个D 3
如何做到如下查询结果:
empid pj
2 1个A 6个B 3个C 4个D
3 2个A 3个B 0个C 3个Dempid为员工号 pj为成绩
pj empid
1个A 2
6个B 2
3个C 2
4个D 2
2个A 3
3个B 3
3个D 3
如何做到如下查询结果:
empid pj
2 1个A 6个B 3个C 4个D
3 2个A 3个B 0个C 3个Dempid为员工号 pj为成绩
解决方案 »
- 高手帮看下关于HQL语句查询问题,在线等,谢谢了!
- 面试回答对多少比例问题HR会让你进
- 数据交换问题
- 初学jsp,运行现有项目遇到的问题
- hql avg函数结果的类型是什么?
- spring mvc 控制层接收页面两个实体参数的问题
- 等我毕业之后去找j2ee的工作不知道是不是很合适,还是说我应该先去找jsp/servlet之类的工作
- 请问那里有(j2ee,jsp)包里的源码下了,高分相送
- J2EE Sdk 1.3和1.4beta2的deploytool的问题
- -------有谁读过PetStore源码?给点建议,怎样去分析,多谢高手赐教!-------
- springMVC中配置JSTL的问题
- 在用struts2框架写代码,启动tomcat6的时候出现异常,请高手帮忙解决一下!
select empid,pj from table GROUP BY empid,pj先执行看看效果吧~~~!!!
max(case scroe when 'B' then pj end ) ||
max(case scroe when 'C' then pj end ) ||
max(case scroe when 'D' then pj end ) pj
from 表名 a group by a.emp_id
这个可以
NVL(MAX(decode(substr(pj, -1, 1), 'A', pj, '')),'0个A') ||
NVL(MAX(decode(substr(pj, -1, 1), 'B', pj, '')),'0个B') ||
NVL(MAX(decode(substr(pj, -1, 1), 'C', pj, '')),'0个C') ||
NVL(MAX(decode(substr(pj, -1, 1), 'D', pj, '')),'0个D') pj
FROM (SELECT '1个A' pj, '2' empid
from dual
union
SELECT '1个B' pj, '2' empid
from dual
union
SELECT '1个C' pj, '2' empid
from dual
union
SELECT '1个D' pj, '2' empid
from dual
union
SELECT '1个A' pj, '2' empid
from dual
union
SELECT '1个B' pj, '3' empid
from dual
union
SELECT '1个C' pj, '3' empid
from dual
union
SELECT '1个D' pj, '3' empid from dual)
GROUP BY empid