| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 974 人关注过本帖
标题:在窗口命令中输入二个查询命令并运行,产生如此以下2个的结果,为什么?请指 ...
取消只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
结帖率:79.38%
收藏
已结贴  问题点数:20 回复次数:5 
在窗口命令中输入二个查询命令并运行,产生如此以下2个的结果,为什么?请指教!
1)SELECT max(平均分) as 平均分 FROM ls into table b
select a.* from ls as a,b where a.平均分=b.平均分
图片附件: 游客没有浏览图片的权限,请 登录注册


如果改为如此
2)SELECT max(平均分) as 平均分 FROM ls into table b
clear all
select a.* from ls as a,b where a.平均分=b.平均分

图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: where 
2015-05-15 08:21
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用mywisdom88在2015-5-15 09:00:10的发言:

2)SELECT max(平均分) as 平均分 FROM ls into table b
 clear all
 select a.* from ls as a,b where a.平均分=b.平均分
 ...............
楼主,是要高手解析,为什么在2个语句中间加个

 clear all
结果就不同了。。。我是不知道。
我在操作中发现,也搞不明白
2015-05-15 09:33
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用kiff在2015-5-15 08:55:56的发言:

这样试试
SELECT max(平均分) as 平均分 FROM ls INTO CURSOR  t1
SELECT a.* from ls as a,t1 as b where a.平均分=b.平均分
试了一下,成功了,为什么变成了CURSOR 可以,生成实库不成功(into table t1)
2015-05-15 09:40
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用kiff在2015-5-15 09:36:01的发言:

工作区可以用a、b、c...来引用,如 b.平均分,楼主(into table b)这样生成了的B会有问题,当你在B工作区有其它打开表时,以上使用就会是此B不是彼B了,而中间加了clear all,其实就是关闭了之前的工作(如B区),这样再select a.* from ls as a,b where a.平均分=b.平均分,其中的B才是你真正要的B。

果真如此,现改为t ,就不出现问题了。
SELECT max(平均分) as 平均分 FROM ls into table t  
   select a.* from ls as a,t where a.平均分=t.平均分
谢了!
2015-05-15 09:45
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用sylknb在2015-5-15 08:21:55的发言:

1)SELECT max(平均分) as 平均分 FROM ls into table b
select a.* from ls as a,b where a.平均分=b.平均分


如果改为如此
2)SELECT max(平均分) as 平均分 FROM ls into table b
clear all
select a.* from ls as a,b where a.平均分=b.平均分




以下是引用kiff在2015-5-15 09:36:01的发言:


工作区可以用a、b、c...来引用,如 b.平均分,楼主(into table b)这样生成了的B会有问题,当你在B工作区有其它打开表时,以上使用就会是此B不是彼B了,而中间加了clear all,其实就是关闭了之前的工作(如B区),这样再select a.* from ls as a,b where a.平均分=b.平均分,其中的B才是你真正要的B。
此:
1)SELECT max(平均分) as 平均分 FROM ls into table b
select a.* from ls as a,b where a.平均分=b.平均分
会产生不正确的结果,
此代码中只有B库,何为B工作区?
2015-05-17 07:08
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
select 二表关联查询(A ,B)它们的工作区如何确定?
2015-05-17 08:11
快速回复:在窗口命令中输入二个查询命令并运行,产生如此以下2个的结果,为什么 ...
数据加载中...
 
   



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

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