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

这样的汇总查询可不可以实现?

楼主d_delphi()2002-08-02 12:26:04 在 Delphi / VCL组件开发及应用 提问

有订单,送货单两个表:  
  ##订单表  
  自动编号       订单号       物料编号       颜色       数量  
    1                     02-1           a001             红           10  
    2                     02-2           a001             红             5    
   
  ##送货单  
  自动编号     送货单号     物料编号       颜色       数量       订单号      
      1                   0798             a001             红           3           02-1  
      1                   0810             a001             红           6           02-1  
   
  查询汇总(订单交货)  
  订单号       物料编号       颜色       订单数量       送货总数量  
    02-1           a001             红                 10                   9  
    02-2           a001             红                   5                   0  
  上面的订单交货的查询语句怎么样写?sql   server数据库,用ADO连接。  
   
  问题点数:100、回复次数:8Top

1 楼budi(http://lysee.oicp.net)回复于 2002-08-02 12:45:00 得分 0

select   a.订单号,     a.物料编号,   a.颜色,   a.数量   as   定单数量,   b.数量  
  from     ##订单表   a,   (select   订单号,   sum(数量)   as   数量   from   ##送货单   group   by   订单号)   b    
  where   a.订单号=b.订单号  
   
  Top

2 楼d_delphi()回复于 2002-08-02 13:06:54 得分 0

楼上的不行,还有物料编号、颜色也要对应呀。Top

3 楼qybao(阿宝)回复于 2002-08-02 13:18:58 得分 0

select   A.订单号,      
                A.物料编号,    
                A.颜色,  
                A.数量   as   定单数量,    
                (Select   sum(数量)   from   ##送货单   where   订单号=A.订单号)   as   送货总数量  
      from     ##订单表   ATop

4 楼Lulq21cn(沙虫)回复于 2002-08-02 13:36:49 得分 0

为何不先在##订单表和##送货单之间建立一个视图,在查询这个视图就OK了.Top

5 楼drc(老代)回复于 2002-08-02 13:37:19 得分 0

select   a.订单号,     a.物料编号,   a.颜色,   a.数量   as   定单数量,   b.数量  
  from     ##订单表   a,   (select   订单号,   sum(数量)   as   数量   from   ##送货单   group   by   订单号,物料编号,颜色)   b    
  where   a.订单号=b.订单号  
   
  ================================================================  
   
  我越来越喜欢DELPHI了!  
   
  ================================================================  
  Top

6 楼renzhm(戴尔飞)回复于 2002-08-02 13:39:41 得分 0

select   a.订单号,a.物料编号,a.颜色,a.订单数量,b.送货总数量  
  from   ##订单表   a  
  left   outer   join  
  (select   物料编号,   颜色,   送货总数量=sum(数量),     订单号      
    from     ##送货单   group   by   物料编号,颜色,   订单号     )   b  
   
  on   a.订单号=b.订单号  
  Top

7 楼d_delphi()回复于 2002-08-02 15:03:43 得分 0

上面几位,我都试过了,行不通。应该是这样:  
   
  select   a.订单号,a.物料编号,a.颜色,a.订单数量,b.送货总数量  
  from   送货单   a   join  
  (select   订单号,   物料编号,   sum(数量)   as     送货总数量   from   送货单    
  group   by   订单号,   物料编号)   b   on   (a.订单号=b.订单号   and   a.   物料编号=b.   物料编号)  
   
  但在   on(   )   里面还要加:a.颜色=b.颜色   ;可是on(   )里只能有一个"and",不能再加了,请帮忙想办法。Top

8 楼renzhm(戴尔飞)回复于 2002-08-02 15:17:15 得分 100

你的查询结果肯定不正确,  
   
  注意:你使用的是内联(默认),这样,如果没有送货的记录就查不到,  
   
  使用外联(左外联),若没有送货,就以0来填充,就是你要得结果  
   
  修改:on   (a.订单号=b.订单号   and   a.   物料编号=b.   物料编号)  
   
  为:on   (a.订单号=b.订单号)   and   (a.   物料编号=b.   物料编号)  
  Top

相关问题

  • SQL 可不可以这样查询
  • 可不可以实现定时共享?
  • 请教在ACCESS中可不可以用"MINUS"来查询
  • 请问可不可以不用fso实现文件操作?
  • 请问ASP可不可以实现关机操作?
  • SYBASE中SQL语句可不可以实现如下功能?
  • HTML:table可不可以实现有类似于div.innerHTML的功能?
  • 可不可以用ListBox实现DBGrid的功能
  • 请问ASP可不可以实现关机操作?
  • 简单问题1:接口可不可以实现接口?

关键词

  • 查询
  • 送货单
  • 订单号
  • 数量
  • 订单
  • 物料编号
  • 颜色
  • 送货总
  • 定单
  • 表

得分解答快速导航

  • 帖主:d_delphi
  • renzhm

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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