| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:同样的语句版本不一样,为什么会出错?
只看楼主 加入收藏
东海
Rank: 1
等 级:新手上路
帖 子:66
专家分:9
注 册:2012-7-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
同样的语句版本不一样,为什么会出错?
同样的语句版本不一样,为什么会出错?这条语句在vfp6上正常,可换到vfp9上就出错了,这是怎么回事?
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 正常 
2013-01-29 22:02
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:10 
SET ENGINEBEHAVIOR 70 | 80 | 90
 
参数
70

指定 Visual FoxPro 按 Visual FoxPro 8.0 以前版本的方式处理 SQL 命令。
80
指定 Visual FoxPro 按 Visual FoxPro 8.0 的方式处理 SQL 命令。
GROUP BY 子句必须列出在 SELECT 列表中的每个字段,除了包含在聚集函数中的字段之外,如 COUNT( ) 函数。另外,GROUP BY 子句还必须列出在 HAVING 子句中的每个字段,除了包含在聚集函数中的字段之外。*译者注:有关聚集函数的信息,请参阅 SQL SELECT 语句的注意事项 帮助主题。

例如,以下代码将产生错误,因为 company 字段没有在 GROUP BY 子句中列出。

 复制程序代码
SELECT company, country FROM Customer GROUP BY country
 

您可以对没在 GROUP BY 子句中的 SELECT 列表中的字段包含聚集函数。

例如,以下代码对没在 GROUP BY 子句中的 company 字段,使用 COUNT( ) 函数括住 company 字段。

SELECT COUNT(company), country FROM Customer GROUP BY country


90

(默认) 指定 Visual FoxPro 按标准的 Visual FoxPro 9.0 方式处理 SQL 命令。
在不带 GROUP BY 子句的 SQL SELECT 命令中使用聚集函数(如 MAX( )) ,且没有找到匹配记录时,Visual FoxPro 将返回带有单个记录的结果集,且 _TALLY 设置为 1。在 Visual FoxPro 9.0 之前的版本中,不会返回记录,且 _TALLY 设置为 0。


请详看帮助文档


[ 本帖最后由 wzxc 于 2013-1-29 22:17 编辑 ]

认真看书学习,弄通Fox主义。
2013-01-29 22:13
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
SET ENGINEBEHAVIOR 70

可以不修改原语句。
否则要修改。

认真看书学习,弄通Fox主义。
2013-01-29 22:24
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:10 
vfp9 有group by 子句时,要加SET ENGINEBEHAVIOR 70

vfp6 不用加
2013-01-29 22:31
东海
Rank: 1
等 级:新手上路
帖 子:66
专家分:9
注 册:2012-7-31
收藏
得分:0 
哈哈 明白了,谢谢2楼和3楼!
2013-01-29 22:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9851
专家分:27243
注 册:2012-2-5
收藏
得分:0 
以下是引用东海在2013-1-29 22:02:47的发言:

同样的语句版本不一样,为什么会出错?这条语句在vfp6上正常,可换到vfp9上就出错了,这是怎么回事?
语句不规范,看命令SET ENGINEBEHAVIOR 中的解释就明白了

坚守VFP最后的阵地
2013-01-29 23:01
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
vfp9.0规定:输出中若含带统计函数的字段,则其它所有不带统计函数的字段都要作为分组字段,除了常量。也可以用上面说到的SET语句设置成按低版本方式执行,但建议用9.0方式,以获得和中大型数据库系统相仿的使用效果。
2013-01-30 14:47
快速回复:同样的语句版本不一样,为什么会出错?
数据加载中...
 
   



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

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