CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

初学,大家帮忙看看

楼主bcsky(皮皮)2004-12-03 20:32:44 在 MS-SQL Server / 应用实例 提问

数据库已存数据格式如下  
        员工号     课程种类     次数  
            1               A                 3  
            1               B                 4    
            2               A                 2  
            2               B                 6    
  先要求转换成如下格式后,存到另一张表  
      学生号     种类1   种类2     次数1     次数2           合计  
          1             A           B             3               4         (3*5+4*7.5)    
          2             A           B             2               6         (2*5+6*7.5)    
   
  --------------------------------------------------------------  
  上一次A课程补贴5,上一次B课程补贴7.5   。现在要计算员工应得多少钱  
  不知道我这样转换表好不好,主要目的是计算出   合计   的值 问题点数:50、回复次数:2Top

1 楼yelook(香槟酒)回复于 2004-12-03 20:46:48 得分 20

select   学生号,'A'   as   种类1,'B'   as   种类2,sum(case   when   课程种类='A'   then   次数   else   0   end)   as   次数1,  
  sum(case   when   课程种类='B'   then   次数   else   0   end)   as   次数2   from   table   group   by   学生号Top

2 楼lsxaa(小李铅笔刀)回复于 2004-12-03 20:50:02 得分 30

如果只是为了计算合计值,就这样  
   
  select   员工号,sum(case   课程种类   when   'A'   then   次数*5  
                                                                  when   'B'   then   次数*7.5  
                                      end)   as   合计  
  from   表  
  group   by   员工号Top

相关问题

  • VC初学者
  • 初学vc...
  • 初学java
  • 初学,见笑。
  • 初学者。javescript
  • 初学~~~SOS~~~
  • 初学PB
  • 初学之惑!
  • 初学perl
  • 初学Oracle8.05

关键词

  • 课程
  • 员工
  • 学生
  • 次数
  • 种类
  • 合计
  • 计算
  • sum
  • then
  • case

得分解答快速导航

  • 帖主:bcsky
  • yelook
  • lsxaa

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo