sql – 与在MS Access数据库中加入相关的问题

前端之家收集整理的这篇文章主要介绍了sql – 与在MS Access数据库中加入相关的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在MS Access数据库中使用以下查询
SELECT SD.RollNo,SD.Name,ED.ExamName,(
    SELECT count(*) 
    FROM (
        SELECT DISTINCT innerED.StudentId 
        FROM ExamDetails innerED 
        WHERE innerED.StudentId=SD.StudentId 
    )
) AS StudentId
FROM StudentDetails SD 
LEFT OUTER JOIN ExamDetails ED 
    ON SD.StudentId= ED.StudentId

每当我执行此查询时,都会出现一个对话框,询问参数SD.StudentId的值.为什么要求这样做,如何阻止它这样做呢?

解决方法

MS Access无法理解Count(*)Aggregate上的SELECT语句.访问sql语句如下所示.
SELECT DISTINCT innerED.StudentId
 FROM ExamDetails innerED 
 WHERE innerED.StudentId=SD.StudentId

因为别名AS STUDENTID在语句结束之后出现,所以这个Select语句不能识别它,所以它不知道.StudendID是什么,所以它假定它是一个参数.

MS Access在面对查询本身尚未识别的参数时将提示用户输入值.

重写查询,以便此Select语句可以标识所有表源.

猜你在找的MsSQL相关文章