求sql高手

psm3688440 2011-12-20 11:30:03
table:

user_name | user_num
----------------------
张三 | 1
张三 | 2
张三 | 2
张三 | 2
张三 | 1
张三 | 3
张三 | 3
李四 | 1
李四 | 1
李四 | 3
李四 | 3
李四 | 2
李四 | 2
李四 | 1



要出来的效果:
name | num1 | num2 | num3
---------------------------
张三 | 2 | 3 | 2
李四 | 3 | 2 | 2


说明下:
结果表中的num1表示张三这个人在table表中的user_num等于1的出现了几次
(table表中出现了2次【张三 | 1】,结果表中的效果就是2),num2也是在table表中的user_num等于2的出现了几次,同理num3。李四和张三同理。




select distinct(t.PJR),t.EMP_NAME,count(t.C_ctomer_answer),
(select distinct(t.PJR),count(t.C_ctomer_answer)
from view_tagdm73_mzpy t
where t.C_ctomer_answer = '2'
group by t.PJR,t.EMP_NAME),
(select distinct(t.PJR),count(t.C_ctomer_answer)
from view_tagdm73_mzpy t
where t.C_ctomer_answer = '3'
group by t.PJR,t.EMP_NAME)
from view_tagdm73_mzpy t
where t.C_ctomer_answer = '1'
group by t.PJR,t.EMP_NAME


这个是我想出来的sql语句,但总是出too many values,求高手告诉我怎么修改,或者写个更高端的! 跪求了!~











...全文
124 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xpingping 2011-12-20
  • 打赏
  • 举报
回复
select user_name name,
sum(decode(user_num,1,1,0)) num1 ,
sum(decode(user_num,2,1,0)) num2,
sum(decode(user_num,3,1,0)) num3
from table_test group by user_name

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧