为什么我的SQL语句在查询设计器里正常工作,在delphi里提示语法错误??

pinyu 2004-11-12 03:11:52
sql语句如下
,把他写到query里说语法错误:
SQL语句如下:
SELECT a.ExamID, a.Name, a.Sex, a.GradeName + a.ClassDictName AS Class, b.语文,
c.数学
FROM ScoreView a INNER JOIN
(SELECT ExamID, score AS 语文
FROM ScoreView
WHERE ExamrecordID = 17) b ON a.ExamID = b.ExamID INNER JOIN
(SELECT ExamID, Score AS 数学
FROM ScoreView
WHERE ExamRecordID = 19) c ON a.ExamID = c.ExamID


错误提示说:
语法错误(操作符丢失)在查询表达式'a.ExamID=b.ExamID INNER JOIN
(Select ExamID,Score AS 数学
FROM ScoreView
WHERE ExamRecordID=19)c ON a.ExamID=c.ExamID'中
...全文
173 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kzy7517 2004-11-12
  • 打赏
  • 举报
回复
有中文吗?用双引号括起来试试。
DebugXP 2004-11-12
  • 打赏
  • 举报
回复
试试 chenyuandxm(一剑平江湖) 的方法
chenyuandxm 2004-11-12
  • 打赏
  • 举报
回复
那你在企业管理器里面新建视图,然后把自动生成的语句复制过去,看有没有问题……
pinyu 2004-11-12
  • 打赏
  • 举报
回复
a,b,c都来自一个表啊,当然我这儿是个视图,都取自ScoreView。我的ScoreView很复杂,有好几个表组成的。但我想我的SQL语句肯定是没问题的,我在SQL的企业管理器的查询设计器里设计并取出了想要的结果,而且用DELPHI的ADODataSet也取到了想要的结果,只是这个语句在ADOQuery里通不过。其实我在前面写的一个程序里也遇到类似的问题,明明在SQL查询设计器中可以正常运行的语句,粘贴到ADOQuery里就出问题。
jinjazz 2004-11-12
  • 打赏
  • 举报
回复
...把你a,b,c的表结构的脚本贴上来,我试一下
pinyu 2004-11-12
  • 打赏
  • 举报
回复
没有,我直接输到query的属性编辑器里,然后想active它(设计时)救出这个问题,但我换成ADODataSet就没有问题。说明Query和DataSet在处理SQL语句的时候存在区别。
jinjazz 2004-11-12
  • 打赏
  • 举报
回复
应该没有问题,你用
showmessage(query1.sql.text)看看是不是上面的

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧