CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如何返回多个子集

楼主lotf1681(淡墨)2006-03-13 16:29:27 在 MS-SQL Server / 基础类 提问

表Inventory  
   
  Item                                   Color                                 Quantity                                        
  --------------------   --------------------   --------------------------    
  Table                                 Blue                                   124                                                  
  Table                                 Red                                     223                                                  
  Chair                                 Blue                                   101                                                  
  Chair                                 Red                                     210      
   
   
  我想返回如下两个记录集:  
   
  Item                                   Color                                 Quantity                                        
  --------------------   --------------------   --------------------------    
  Table                                 Blue                                   124                                                  
  Table                                 Red                                     223          
  合计                                                                             347  
   
   
  Item                                   Color                                 Quantity                                        
  --------------------   --------------------   --------------------------    
  Chair                                 Blue                                   101                                                  
  Chair                                 Red                                     210      
  合计                                                                             311  
   
   
   
  结果分为两个记录集返回而不是一个,语句应该怎样写? 问题点数:50、回复次数:4Top

1 楼dutguoyi(新鲜鱼排)回复于 2006-03-13 17:09:29 得分 5

第一部分  
  union   all  
  第二部分  
   
  这样就连接两个部分了。Top

2 楼xeqtr1982(Visual C# .NET)回复于 2006-03-13 17:17:36 得分 15

--不知道是不是这样,瞎写了一个  
  declare   @Inventory   table(Item   varchar(10),Color   varchar(10),Quantity   int)  
  insert   into   @Inventory   select   'Table','Blue',124                                                  
  union   all   select   'Table','Red',223                                                  
  union   all   select   'Chair','Blue',101                                                  
  union   all   select   'Chair','Red',210      
   
  declare   @Item   varchar(10)  
  set   @Item=''  
  declare   cur_1   cursor   for  
  select   distinct   Item   from   @Inventory  
   
  open   cur_1  
  fetch   next   from   cur_1   into   @Item  
  while(@@FETCH_STATUS=0)  
    begin  
        select   *   from   @Inventory   where   Item=@Item  
        union   all  
        select   '合计','',sum(Quantity)   as   Quantity   from   @Inventory   where   Item=@Item   group   by   Item  
        fetch   next   from   cur_1   into   @Item  
    end  
   
  close   cur_1  
  DEALLOCATE   cur_1Top

3 楼lsqkeke(可可)回复于 2006-03-13 18:02:20 得分 20

同意楼上的!:)  
  如果Item类型不定就用楼上的游标处理!  
   
  如果只是直接得到上面的数据,可以这样:  
   
  记录集一:  
  select   Item,Color,Quantity     from   inventory   where   Item='Table'  
  union   all  
  select   '合计','',Quantity=sum(Quantity)   from   inventory   where   Item='Table'  
   
  记录集二:  
  select   Item,Color,Quantity     from   inventory   where   Item='Chair'  
  union   all  
  select   '合计','',Quantity=sum(Quantity)   from   inventory   where   Item='Chair'  
   
   
   
  Top

4 楼wgsasd311(自强不息)回复于 2006-03-13 21:57:42 得分 10

--try  
  select   *   from   (  
  select   Item,Color,Quantity     from   inventory    
  union   all  
  select   item+'小计:','',sum(quantity)   from   inventory  
  group   item  
  union   all  
  select   '总计:','',sum(quantity)   from   inventory  
  )   t  
  order   by   itemTop

相关问题

  • 如何检查子集
  • 如何在Delphi中实现求某一集合的子集
  • 如何判断一个字符串是另一个字符串的子集!
  • 很急! 如何判断一个数组是另一个数组的子集
  • 求子集算法
  • 子集和问题~~~~~~~~~~~~
  • 问:java中如何返回多值?
  • 函数如何返回多维数组
  • function如何返回多个值????
  • 函数如何返回多个值?

关键词

  • quantity
  • inventory
  • chair
  • allselect
  • 合计
  • union
  • item
  • cur
  • blue
  • 返回

得分解答快速导航

  • 帖主:lotf1681
  • dutguoyi
  • xeqtr1982
  • lsqkeke
  • wgsasd311

相关链接

  • SQL Server类图书

广告也精彩

反馈

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