如何修改MS Access查询以筛选同时满足多个指定条件的记录
MS Access 多条件查询修正说明
原查询错误原因
- 逻辑运算符优先级问题:Access 中
AND优先级高于OR,原查询未对 Comments 字段的多匹配条件做分组,实际执行逻辑变为「满足前两个条件且 Comments 为 transplant」或者「Comments 为后两个值任意一个」,会返回大量不符合前两个基础条件的记录 - 语法错误:原查询中
OR Comments OR "post transplant"属于写法错误,缺少等值判断逻辑,且匹配值拼写和需求的post-transplant不符
修正后查询语句(完全匹配Comments取值场景)
SELECT [First Name], [Last Name], [Subject ID], Expanded_Status, Hospital, Comments FROM [Barriers UHN Screen - 2017 Mailing] WHERE Expanded_Status = "Eligible but not enrolled" AND Hospital = "UHN" AND (Comments = "transplant" OR Comments = "post-transplant" OR Comments = "tx");
补充适配场景(Comments包含关键词即可的模糊匹配场景)
如果你的需求是 Comments 字段包含上述三个关键词即可,不需要完全相等,可以将等值判断改为模糊匹配,写法如下:
SELECT [First Name], [Last Name], [Subject ID], Expanded_Status, Hospital, Comments FROM [Barriers UHN Screen - 2017 Mailing] WHERE Expanded_Status = "Eligible but not enrolled" AND Hospital = "UHN" AND (Comments LIKE "*transplant*" OR Comments LIKE "*post-transplant*" OR Comments LIKE "*tx*");
内容的提问来源于stack exchange,提问作者Zuva Gwata
相关产品推荐
相关产品推荐

