繁体   English   中英

MS Access for SQL内部联接中带括号的问题

[英]Trouble with parenthesis in MS Access for SQL Inner Joins

在MS Access中尝试了以下SQL,但似乎无法正常运行,有人有更好的主意吗?

SELECT top 4 Student.STUDENT_DEGREE, Student.STUDENT_SEX,STUDENT_GROUP_ID,STUDENT_GROUP_ID2,RESULT_MARK
FROM (((Student)
INNER JOIN Result ON Student.STUDENT_ID=Result.RESULT_STUDENT_ID)
INNER JOIN Group ON RESULT_GROUP_ID = GROUP_ID)
where STUDENT_GROUP_ID <> ''
order by Result.RESULT_MARK desc;

每当我运行这个我只会得到错误:

FROM子句中的语法错误

Group保留字 将该名称括在方括号中,以避免混淆db引擎。 您还可以为表名分配别名。

FROM
    (Student
    INNER JOIN Result
    ON Student.STUDENT_ID=Result.RESULT_STUDENT_ID)
    INNER JOIN [Group] AS g
    ON Result.RESULT_GROUP_ID = g.GROUP_ID

我不得不猜测最后一个ON子句中哪些表包含那些字段。 如果在Access查询设计器的“设计视图”中设置联接,则将帮助您正确命名。 它还将添加数据库引擎对包括多个连接的任何查询所需要的括号。

还可以在表源中SELECT列表中以及查询中其他位置的字段名称。 再次,查询设计器可以为您提供正确的名称。

删除Student周围多余的括号:

SELECT top 4 Student.STUDENT_DEGREE,Student.STUDENT_SEX,STUDENT_GROUP_ID,STUDENT_GROUP_ID2,RESULT_MARK
FROM ((Student
INNER JOIN Result ON Student.STUDENT_ID=Result.RESULT_STUDENT_ID)
INNER JOIN Group ON RESULT_GROUP_ID = GROUP_ID)
where STUDENT_GROUP_ID <> ''
order by Result.RESULT_MARK desc;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM