Ms Access报错Join expression not supported,查询用户及对应寄养动物数量
报错原因
MS Access 的SQL解析逻辑要求JOIN关联条件中的字段必须明确标注所属表,否则无法识别字段归属,就会抛出「Join expression not supported」错误。你原语句中的UUID和FosterID都没有加表前缀,正好触发了这个限制。
修复后符合需求的SQL
SELECT tblUsers.UUID, COUNT(tblAnimals.FosterID) AS 寄养动物数量 FROM tblUsers LEFT JOIN tblAnimals ON tblUsers.UUID = tblAnimals.FosterID GROUP BY tblUsers.UUID
补充说明
- 所有关联字段都加上了表名前缀,直接解决JOIN表达式不支持的报错
- 保留了LEFT JOIN逻辑,所有用户记录都会展示,不会漏掉没有寄养动物的用户
- 统计用
COUNT(tblAnimals.FosterID)而非COUNT(*),没有匹配寄养记录的用户统计结果会自动返回0,完全符合你的业务需求 - 给统计结果添加了别名
寄养动物数量,查询结果可读性更好
内容的提问来源于stack exchange,提问作者Brandon Calitz
相关产品推荐
相关产品推荐

