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

请问一个SQL的问题?

楼主charlieckl(charlie)2003-12-03 10:56:17 在 Delphi / VCL组件开发及应用 提问

SELECT   *,SUM(dayMoney)   FROM   DianTuGP   INNER   JOIN    
              GangWei   ON   DianTuGP.gw_id   =   GangWei.gw_id    
              WHERE   (DianTuGP.d_date   >=   :date1)   and   (DianTuGP.d_date   <=   :date2)     GROUP   BY   DianTuGP.gp_id  
  提示有错误,‘列DianTuGP.gh在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在GROUP   BY子句中’请问这是为什么呀, 问题点数:20、回复次数:4Top

1 楼dulei115(前途无亮)回复于 2003-12-03 11:13:33 得分 5

SELECT   后面显示的列必须满足下面的条件,  
  要么在聚合函数中,如:dayMoney在SUM(dayMoney)  
  要么在GROUP   BY子句中,如GROUP   BY   DianTuGP.gp_id  
  Top

2 楼outer2000(天外流星)回复于 2003-12-03 11:15:13 得分 5

SELECT   DIANTUGP.GP_ID,SUM(dayMoney)   FROM   DianTuGP   INNER   JOIN    
              GangWei   ON   DianTuGP.gw_id   =   GangWei.gw_id    
              WHERE   (DianTuGP.d_date   >=   :date1)   and   (DianTuGP.d_date   <=   :date2)     GROUP   BY   DianTuGP.gp_id  
  Top

3 楼dulei115(前途无亮)回复于 2003-12-03 11:16:57 得分 5

如果没有猜错,楼主的DianTuGP表,第一列为gp_id,第二列就是gh  
  把列DianTuGP.gh加到聚合函数或者GROUP   BY子句中后,还会提示下一列“在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在GROUP   BY子句中”,直到所有列满足条件为止Top

4 楼angle097113(深思不解)回复于 2003-12-03 11:18:47 得分 5

当你使用了GROUP   BY   的时候你的select的字段必须出现在GROUP   BY的后面的  
  或者你select的字段是聚合函数的Top

相关问题

  • SQL???
  • sql????????????????????
  • sql
  • SQL????
  • sql
  • sQl
  • sql
  • sql
  • sql???
  • SQL????

关键词

  • date
  • diantugp
  • gangwei
  • gw

得分解答快速导航

  • 帖主:charlieckl
  • dulei115
  • outer2000
  • dulei115
  • angle097113

相关链接

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

广告也精彩

反馈

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