微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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语句可以标识所有表源.

原文地址:https://www.jb51.cc/mssql/83672.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐