You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access中三表Inner Join SQL语法错误问题求助

解决MS Access三表连接语法错误问题

错误原因分析

你的代码存在三个关键问题导致语法错误:

  • Access多表连接需嵌套括号:Access SQL不支持连续的INNER JOIN写法,必须将前两个表的连接结果用括号包裹后,再与第三个表建立连接。
  • 含特殊字符的字段需用方括号包裹:reason/diagnosis字段包含斜杠,Access会将斜杠识别为除法运算符,必须用[reason/diagnosis]明确声明这是一个字段名。
  • Access通配符为*而非%:Access的LIKE语句使用*作为通配符,%是标准SQL的写法,在Access环境下无法生效。

修正后的查询代码

SELECT o.firstname, o.lastname, o.city, o.state, a.animalname, v.[reason/diagnosis], v.animalid
FROM (tblOwner AS o
INNER JOIN tblAnimal AS a ON o.ownerid = a.ownerid)
INNER JOIN tblVisit AS v ON v.animalid = a.animalid
WHERE v.[reason/diagnosis] LIKE "*Injured*"
ORDER BY o.firstname;

关键修正说明

  • 用括号包裹tblOwner与tblAnimal的连接结果,适配Access多表连接的语法规则。
  • 将所有v.reason/diagnosis替换为v.[reason/diagnosis],避免特殊字符被误判为运算符。
  • 将"%Injured%"改为"*Injured*",符合Access的通配符使用规范。

内容的提问来源于stack exchange,提问作者Arthur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:34:53