| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 974 人关注过本帖
标题:在窗口命令中输入二个查询命令并运行,产生如此以下2个的结果,为什么?请指 ...
只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
结帖率:79.38%
收藏
已结贴  问题点数:20 回复次数:16 
在窗口命令中输入二个查询命令并运行,产生如此以下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
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:2 
这样试试
SELECT max(平均分) as 平均分 FROM ls INTO CURSOR  t1
SELECT a.* from ls as a,t1 as b where a.平均分=b.平均分
2015-05-15 08:55
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:2 
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:00
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
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分: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.平均分
工作区可以用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。
2015-05-15 09:36
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
muyubo
Rank: 9Rank: 9Rank: 9
来 自:山东莱芜
等 级:蜘蛛侠
威 望:3
帖 子:471
专家分:1017
注 册:2011-3-6
收藏
得分:2 
工作区没搞清楚
2015-05-15 09:43
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
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
工作区可以用a、b、c...来引用?
是从a、b..到z?

SELECT 1 是不是等于SELECT a ??
还是
SELECT 0 是不是等于SELECT a ??
2015-05-15 10:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
以下是引用mywisdom88在2015-5-15 10:11:00的发言:

工作区可以用a、b、c...来引用?
是从a、b..到z?

SELECT 1 是不是等于SELECT a ??
还是
SELECT 0 是不是等于SELECT a ??

书上有。select a等效于select 1,select 0是取有效的、最小序号的工作区。

授人以渔,不授人以鱼。
2015-05-15 10:20
快速回复:在窗口命令中输入二个查询命令并运行,产生如此以下2个的结果,为什么 ...
数据加载中...
 
   



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

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