| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1750 人关注过本帖
标题:VFP6.0 能用但VFP9.0不能用 GROUP BY 问题
取消只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
结帖率:98.98%
收藏
已结贴  问题点数:10 回复次数:8 
VFP6.0 能用但VFP9.0不能用 GROUP BY 问题
SELECT 编号,MAX(费用期间) 费用期间,SUM(费用合计)+SUM(其它费用) 合计,SUM(电费合计) 电费,SUM(水费合计) 水费,SUM(管理费) 管理费, ;
          SUM(滞纳金) 滞纳金,SUM(垃圾费) 垃圾费,SUM(其它费用) 其它费用,"现金" 付款方式,"是" 交费,cUserName AS 收款人,DATE() AS 收款日期,""+SPACE(10) 收据号,""+SPACE(120) 交费备注,ID16 ;
          FROM TMP_CASH WHERE 选择=1 ORDER BY 编号 ASC GROUP BY 编号 INTO TABLE TEMP\TMP_CASH2
6.0的,怎么该为9.0啊。昨天下载的9.0,,现在想换到9.0去
搜索更多相关主题的帖子: 滞纳金 管理费 
2015-04-27 22:53
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
我在查了,他们说9.0和6.0不同,我想知道,哪里不同
2015-04-27 23:08
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
我9.0昨天才下的,没9.0帮组,以前都用6.0的
SELECT 编号,MAX(费用期间) 费用期间,SUM(费用合计)+SUM(其它费用) 合计,SUM(电费合计) 电费,SUM(水费合计) 水费,SUM(管理费) 管理费, ;
          SUM(滞纳金) 滞纳金,SUM(垃圾费) 垃圾费,SUM(其它费用) 其它费用,"现金" 付款方式,"是" 交费,cUserName AS 收款人,DATE() AS 收款日期,""+SPACE(10) 收据号,""+SPACE(120) 交费备注,MAX(ID16) ID16 ;
          FROM TMP_CASH WHERE 选择=1 ORDER BY 编号 ASC GROUP BY 编号 INTO TABLE TEMP\TMP_CASH2
我把红色的那,从ID16,改为MAX(ID16) ID16,就不报错误 了。
刚开始用9.0,很多不知道。
2015-04-27 23:13
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
如果,输出,不需要处理的,内容都相同的,但我要和汇总1一起输出,我是不是可以像ID16这个,加个MAX(ID16) 去?反正都不影响结果的??
2015-04-27 23:18
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
但奇怪的是,"现金" 付款方式,"是" 交费,cUserName AS 收款人,DATE() AS 收款日期,""+SPACE(10) 收据号,""+SPACE(120) 交费备注,ID16 ;
怎么只改ID16为MAX(ID16),其它的,也没用到你们提到的函数,确唯独ID16这报错。
一下在这里查到的。
在用VFP9.0时,如果SQL语句中使用Group By,输出的字段必须放在几个统计函数中,否则不能通过。
这些函数是:cnt()(或count())、sum()、avg()、max()、min()。
在VFP6.0下则无此限制。

2015-04-27 23:27
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
"现金" 付款方式,"是" 交费,cUserName AS 收款人,DATE() AS 收款日期,""+SPACE(10) 收据号,""+SPACE(120) 交费备注,ID16
上面的值,只有ID16是从源表直接读取过来的,其它的,是源表没有的,新赋值到新表的?难道是这个原因??
2015-04-27 23:30
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
谢谢,但有时候,看帮助,的效果,没人直接指点的效果好。。
2015-04-27 23:33
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
TO:13楼,
关键要明白这句:"除聚集表达式之外,必须包含在 GROUP BY 子句中"

现金" 付款方式,"是" 交费,cUserName AS 收款人,DATE() AS 收款日期,""+SPACE(10) 收据号,""+SPACE(120) 交费备注,ID16
上面的值,只有ID16是从源表直接读取过来的,其它的,是源表没有的,新赋值到新表的?难道是这个原因??
我上面的都不要汇总和分组的,为什么只有ID16这里才报错?书是这样写的,要知道原因
2015-04-28 11:17
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
知道了,从 “FROM 数据源中的字段”中来的数据,要不就带聚合函数,要不就在分组中。
那也就是说,我先前理解的是对的。。
知道原因了,以后,也就不会再出现这问题了。
也就是,我为什么要一定知道为什么的道理。。

2015-04-28 11:51
快速回复:VFP6.0 能用但VFP9.0不能用 GROUP BY 问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025785 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved