首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OleDbException (ACCESS)内连接查询

OleDbException (ACCESS)内连接查询
EN

Stack Overflow用户
提问于 2014-12-31 17:43:31
回答 2查看 69关注 0票数 1

表:

代码语言:javascript
复制
CS(sid,cid) both int

Courses(id,price) both int


SELECT CS.sid,SUM(Courses.price) as sum FROM CS INNER JOIN Courses ON CS.cid=Courses.id AND CS.sid=@sid GROUP BY CS.sid

我想要sum of courses of sid=@sid的价格。@sid是SQLDataSource的参数。

我得到了这个异常:一个类型为'System.Data.OleDb.OleDbException' occurred in System.Web.dll,但未在用户代码中处理的异常

代码语言:javascript
复制
Additional information: The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
EN

回答 2

Stack Overflow用户

发布于 2014-12-31 17:58:28

您可能需要使用WHERE

代码语言:javascript
复制
SELECT CS.sid,SUM(Courses.price) as sum FROM CS INNER JOIN Courses ON CS.cid=Courses.id WHERE CS.sid=@sid GROUP BY CS.sid

或者,这也可能起作用:

代码语言:javascript
复制
SELECT CS.sid,SUM(Courses.price) as sum FROM CS INNER JOIN Courses ON CS.cid=Courses.id AND ON CS.sid=@sid GROUP BY CS.sid
票数 0
EN

Stack Overflow用户

发布于 2014-12-31 21:03:38

SUM是保留字,而您正在尝试选择

代码语言:javascript
复制
SUM(Courses.Price) as Sum... 

AS SUM令人窒息。尝试更改为

代码语言:javascript
复制
SUM(Courses.Price) as SumOfCourses

而且,将命名参数与您要比较的列同名也可能是一个问题。我总是试图强制区分,以防止任何可能的模棱两可的解释,例如更改您的

代码语言:javascript
复制
CS.sid= @sid 

当我执行OleDB时,@P是“的参数”,所以我会

代码语言:javascript
复制
CS.sid= @Psid 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27719193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档