测试了一下,似乎发现这样的情况:
SELECT max(平均分) as 平均分 FROM ls into table b
执行完句时,在A区打开了ls表,在C区打开了B表,可能是SELECT 内部机制(也不知的情况,猜的),接着执行select a.* from ls as a,b where a.平均分=b.平均分,这时 select 在最小工作区(b)再次打开 LS表,这样的话,就是A、B都是ls这个表,也就是自己关联自己。
根据以上测试,作出如下调整,就会发现得出正确结果
方法1:
USE ls IN 2
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
select a.* from ls as a,c where a.平均分=c.平均分
附上测试表
[
本帖最后由 kiff 于 2015-5-20 15:01 编辑 ]