CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

关于汇总的问题

楼主zhangzs8896(小二)2003-09-04 10:58:28 在 MS-SQL Server / 疑难问题 提问

日期           班次   生产炉数   生产量     生产支数     入库炉数       入库量     入库支数  
  20030904   夜班   13             424.056         312               0           .00             0  
  20030904   早班   11         917.03           853               9           1331.46       1104  
  20030904   中班   6         879.149         641               0           .00               0  
   
  select     *     from   (          
  select     case   when     mwohed2.日期   is   null   then   #t1.mtrgdt   else   mwohed2.日期   end   as   日期,'炼钢'   as   部门,    
                  sum(mwohed2.生产炉数)   as   生产炉数   ,   sum(   mwohed2.生产量)   as   生产量,      
                  sum(mwohed2.生产支数)as   生产支数,sum(   isnull(入库炉数,0))     入库炉数   ,  
                  sum(isnull(cast(入库量   as   numeric(7,0))   ,0))     入库量,  
                  sum(isnull(cast(入库支数   as   numeric(7,0))   ,0))     入库支数  
    from   mwohed2     full       OUTER   JOIN       #t1     on   #t1.mtrgdt=mwohed2.日期   and   #t1.班次=mwohed2.班次    
    group   by   日期,#t1.mtrgdt   )    
  where   left(right(   日期,4),2)=isnull(@date,datepart(mm,getdate()))     and   right(日期,2)=isnull(@d,datepart(dd,getdate()))  
  order     by   日期  
  结果却是:  
   
  20030904     炼钢 10 1303.205 953 0 0 0  
  20030904     炼钢 20 2043.223 1814 9 1331 1104 问题点数:30、回复次数:3Top

1 楼yujohny(踏网无痕)回复于 2003-09-04 11:18:33 得分 10

改成这样  
  select     *     from   (          
  select     #t1.mtrgdt   as   日期,'炼钢'   as   部门,    
                  sum(mwohed2.生产炉数)   as   生产炉数   ,   sum(   mwohed2.生产量)   as   生产量,      
                  sum(mwohed2.生产支数)as   生产支数,sum(   isnull(入库炉数,0))     入库炉数   ,  
                  sum(isnull(cast(入库量   as   numeric(7,0))   ,0))     入库量,  
                  sum(isnull(cast(入库支数   as   numeric(7,0))   ,0))     入库支数  
    from   mwohed2   RIGHT   OUTER   JOIN       #t1     on   #t1.mtrgdt=mwohed2.日期   and   #t1.班次=mwohed2.班次    
    group   by   #t1.mtrgdt   )    
  where   left(right(   日期,4),2)=isnull(@date,datepart(mm,getdate()))     and   right(日期,2)=isnull(@d,datepart(dd,getdate()))  
  order     by   日期  
  Top

2 楼tj_dns(愉快的登山者)回复于 2003-09-04 11:28:06 得分 10

好象数据有问题。想得到什么结果。  
   
  Top

3 楼pengdali()回复于 2003-09-04 11:35:46 得分 10

select     *     from   (          
  select     case   when     mwohed2.日期   is   null   then   #t1.mtrgdt   else   mwohed2.日期   end   as   日期,'炼钢'   as   部门,    
                  sum(mwohed2.生产炉数)   as   生产炉数   ,   sum(   mwohed2.生产量)   as   生产量,      
                  sum(mwohed2.生产支数)as   生产支数,sum(   isnull(入库炉数,0))     入库炉数   ,  
                  sum(isnull(cast(入库量   as   numeric(7,0))   ,0))     入库量,  
                  sum(isnull(cast(入库支数   as   numeric(7,0))   ,0))     入库支数  
    from   mwohed2     full       OUTER   JOIN       #t1     on   #t1.mtrgdt=mwohed2.日期   and   #t1.班次=mwohed2.班次    
    group   by   case   when     mwohed2.日期   is   null   then   #t1.mtrgdt   else   mwohed2.日期   end,#t1.mtrgdt   )    
  where   left(right(   日期,4),2)=isnull(@date,datepart(mm,getdate()))     and   right(日期,2)=isnull(@d,datepart(dd,getdate()))  
  order     by   日期  
  Top

相关问题

  • 汇总?
  • 汇总问题
  • 如何汇总???
  • 如何汇总?
  • union汇总.
  • 如何汇总
  • 分页汇总...
  • 汇总统计
  • 汇总问题
  • DATAVIEW汇总问题

关键词

  • mwohed2
  • t1
  • 入库
  • 支数
  • mtrgdt
  • 日期
  • 生产
  • 炉数
  • 生产量
  • 班次

得分解答快速导航

  • 帖主:zhangzs8896
  • yujohny
  • tj_dns
  • pengdali

相关链接

  • SQL Server类图书

广告也精彩

反馈

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