CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

求一SQL的写法,(无符合条件也显示一条记录)

楼主xdhou(办公室坐久了,想晒晒太阳)2005-01-04 16:48:39 在 MS-SQL Server / 基础类 提问

SELECT   dbo.inventory_detail.StorerKey,   dbo.inventory_detail.Sku,   nullif(SUM(QTY)    
                                ,0)   AS   onhold  
                    FROM   dbo.inventory_detail  
                    WHERE   dbo.inventory_detail.onHoldFlag   =   1  
                    GROUP   BY   dbo.inventory_detail.StorerKey,   dbo.inventory_detail.Sku  
  table   dbo.inventory_detail:  
  StorerKey:   key11111  
  Sku:sku2222  
  onHoldFlag:0  
  QTY:33  
   
  请问如何写SQL查上表可以当onHoldFlag   =   1时显示出,key11111,sku2222,0  
  (onHoldFlag   =   0   时自然显示为key11111,sku2222,33)  
  谢谢! 问题点数:100、回复次数:11Top

1 楼xdhou(办公室坐久了,想晒晒太阳)回复于 2005-01-04 16:56:42 得分 0

备注:表里肯定有记录,同一StorerKey和Sku下onHoldFlag可能全是0,也可能全是1,也可能又有0又有1,我要统计为0和为1时的总量,没有1时1的量就为0(没有0时0的量为0),都有时各自SUMTop

2 楼quanyi(长生天)回复于 2005-01-04 16:57:17 得分 10

SELECT   dbo.inventory_detail.StorerKey,   dbo.inventory_detail.Sku,   isnull(SUM(QTY),0)   AS         onhold  
                    FROM   dbo.inventory_detail  
                    WHERE   dbo.inventory_detail.onHoldFlag   =   1  
                    GROUP   BY   dbo.inventory_detail.StorerKey,   dbo.inventory_detail.Sku  
  table   dbo.inventory_detailTop

3 楼WangZWang(先来)回复于 2005-01-04 16:58:35 得分 10

SELECT     StorerKey,   Sku,   --nullif(SUM(QTY),0)   AS   onhold,  
                  QTY=(Case   when   onHoldFlag=0   then   33   else   0   end)  
    FROM   dbo.inventory_detailTop

4 楼xdhou(办公室坐久了,想晒晒太阳)回复于 2005-01-04 17:02:44 得分 0

to   WangZWang(阿来)  
  33我只是举个例子,表里QTY的值多了。  
  to   quanyi(长生天)    
  你的方法也不行,查出来一样是没记录。NULLTop

5 楼quanyi(长生天)回复于 2005-01-04 17:02:52 得分 0

SELECT   isnull(dbo.inventory_detail.StorerKey,'key11111')   as   'StorerKey',isnull(   dbo.inventory_detail.Sku,'sku2222')   as   'Sku',    
                                isnull(SUM(QTY)   ,0)   AS   onhold  
                    FROM   dbo.inventory_detail  
                    WHERE   dbo.inventory_detail.onHoldFlag   =   1  
                    GROUP   BY   dbo.inventory_detail.StorerKey,   dbo.inventory_detail.SkuTop

6 楼xdhou(办公室坐久了,想晒晒太阳)回复于 2005-01-04 17:09:59 得分 0

to   quanyi(长生天)    
  你的结果仍然显示不出来,无记录,  
  再次说明:以上表中的那条记录是我模拟的,只是举个例子。Top

7 楼xdhou(办公室坐久了,想晒晒太阳)回复于 2005-01-04 17:11:48 得分 0

我的想法是不是不现实啊,不知能不能实现。Top

8 楼WangZWang(先来)回复于 2005-01-04 17:15:14 得分 10

SELECT     StorerKey,   Sku,    
                  onhold=sum(Case   when   onHoldFlag=0   then   QTY   else   0   end)  
    FROM   dbo.inventory_detail  
    group   by   StorerKey,   SkuTop

9 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-01-04 17:15:22 得分 60

SELECT  
              a.StorerKey,  
              a.Sku,    
              SUM(Case   when   a.onHoldFlag   =   1   then   a.QTY   else   0   end)   as   onhold,  
              SUM(Case   when   a.onHoldFlag   =   0   then   a.QTY   else   0   end)   as   notonhold  
  FROM    
              dbo.inventory_detail   a  
  group   by  
              a.StorerKey,  
              a.Sku  
  Top

10 楼WangZWang(先来)回复于 2005-01-04 17:18:18 得分 10

SELECT     StorerKey,   Sku,   notonhold=0,  
                  onhold=sum(Case   when   onHoldFlag=0   then   QTY   else   0   end),                    
    FROM   dbo.inventory_detail  
    group   by   StorerKey,   Sku  
  Top

11 楼xdhou(办公室坐久了,想晒晒太阳)回复于 2005-01-04 17:21:27 得分 0

向libin_ftsafe(子陌红尘)   学习,谢谢!!Top

相关问题

  • 删除相同记录的sql语句的写法?
  • 求更新表内记录的sql语句写法
  • 记录按两个字段相同取最小的sql写法?
  • SQL写法
  • SQL表写法?
  • **** SQL写法求解(某客户最后业务日期的记录)?****
  • 问一个sql语句的写法:搜索出现两次的记录条数
  • 请教oracle存储过程里删除多条记录sql写法?
  • 求SQL写法:在表product中求出同样ID只有一条记录的记录集
  • sql 语句写法.

关键词

  • storerkey
  • onholdflag
  • inventory
  • sku
  • onhold
  • dbo
  • detail
  • qty
  • sum
  • 显示

得分解答快速导航

  • 帖主:xdhou
  • quanyi
  • WangZWang
  • WangZWang
  • libin_ftsafe
  • WangZWang

相关链接

  • SQL Server类图书

广告也精彩

反馈

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