标题:select 二表关联查询(A ,B)它们的工作区如何确定?
只看楼主
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
结帖率:79.3%
已结贴  问题点数:20 回复次数:23 
select 二表关联查询(A ,B)它们的工作区如何确定?
select 二表关联查询(A ,B)它们的工作区如何确定?
搜索更多相关主题的帖子: 工作区 如何 
2015-05-18 11:23
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
sele A.列1,A.列2....,B.列1,B.列2... from A (left,right)full join B on A.序号=B.序号
2015-05-18 11:52
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:0 
以下是引用sylknb在2015-5-18 11:23:34的发言:

select 二表关联查询(A ,B)它们的工作区如何确定?
关联查询为什么要知道它们的工作区?
2015-05-18 13:51
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用taifu945在2015-5-18 13:51:38的发言:

关联查询为什么要知道它们的工作区?
是啊?
2015-05-18 14:01
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
我问的问题:
在窗口命令中输入二个查询命令并运行,产生如此以下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.平均分

有的班主说是:工作区可以用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。
所以请教 :二表关联时是否与工作区有关?
http://bbs.bccn.net/thread-445315-1-1.html
2015-05-19 16:31
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
如果,你想知道答案,很简单的。
*1、
SELECT max(平均分) as 平均分 FROM ls into table b
SELECT B
BROW
select a.* from ls as a,b where a.平均分=b.平均分
SELECT A
BROW
观察A,B的表,内容是不是和2的相同

2)SELECT max(平均分) as 平均分 FROM ls into table b
 clear all
 select a.* from ls as a,b where a.平均分=b.平均分
SELECT B
BROW
SELECT A
BROW
2015-05-19 17:02
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
只要指定表名,并得到正确的结果,至于用哪个工作区那是VFP内部的事情,何必管的那么细。

活到老,学到老! http://www. E-mail:hu-jj@
2015-05-19 19:38
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
我问的二种写法为什么结果不同,正确答案是第2张图,只有二个人的一张
2015-05-20 08:28
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
以下是引用sylknb在2015-5-20 08:28:38的发言:

我问的二种写法为什么结果不同,正确答案是第2张图,只有二个人的一张
没看6楼解答?
2015-05-20 08:37
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:0 
以下是引用sylknb在2015-5-19 16:31:55的发言:

我问的问题:
在窗口命令中输入二个查询命令并运行,产生如此以下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.平均分

有的班主说是:工作区可以用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。
所以请教 :二表关联时是否与工作区有关?
https://bbs.bccn.net/thread-445315-1-1.html
我就搞不懂了,为什么生成的表文件主干名就那么喜欢用一个字母呢?多写一个字母会损失什么吗?
2015-05-20 08:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445445-1-1.html




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

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