2015-06-07 21 views
0

我有以下SQLMicrosoft Access不能表示联接表达式 “<=” 运营商

SELECT 
a.StudentsID, 
a.ClassGroup, 
a.FinalGrade, 
COUNT(*) AS ranknumber 

FROM FinalAVG AS a 
INNER JOIN FinalAVG AS b 
ON (a.ClassGroup = b.ClassGroup) 
AND (a.FinalGrade <= b.FinalGrade) 

GROUP BY 
a.ClassGroup, 
a.StudentsID, 
a.FinalGrade 

HAVING COUNT(*) <= 3 
ORDER BY a.ClassGroup, COUNT(*) DESC; 

它运作良好。然而,当我切换到设计视图,它让我看到下面的错误

Microsoft Access can't represent the join expression a.FinalGrade <= 
b.FinalGrade 

任何帮助吗?

回答

-1

这是设计和GUI设计者的限制。

但是,SQL视图可用于此类查询。

是的,只要继续并纠正错误(如果有的话)。因为你的SQL似乎有效。

+0

所以,这意味着什么做的,继续前进? – FSm

+0

谢谢您的反对。我是Access的发明者,所以我配得上它。 – Gustav

+0

谢谢古斯塔夫,对不起别人的反对票 – FSm

0

女士访问设计视图只能处理查询,其中的两个路径部分加入是相同的数据类型,并有他们如

ON A.ID = B.ID 

但在SQL视图,您可以做一个平等,L种associations..a很常见的情况是,当一个部分是字符串数据类型(但数字)的,另一个是整数,所以你可以像这样投身其中:

A.ID = Cint(B.ID) 
+0

我把'a.FinalGrade <= b.FinalGrade'这行改为'a.FinalGrade <= Cint(b.FinalGrade)',仍然出现同样的错误 – FSm

+0

你的意思是在Designer View中......这是正常的......除了等号'='之外,你不能使用其他任何东西 – John