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

MS Access技术咨询:如何对两个字段各设置两个不同筛选值

修正后的MS Access SQL语句及错误说明

原语句的核心错误

  • SQL语法顺序错误:FROM plants必须放在WHERE子句之前,标准SELECT语句结构是SELECT 字段 FROM 表 WHERE 条件。
  • 条件逻辑不完整:or "*def*"这种写法缺少关联字段,数据库无法判断要匹配哪个列,每个模糊匹配都需要明确指定对应字段(比如plants.name like "*def*")。
  • 重复使用WHERE关键字:一个SELECT语句只能有一个WHERE起始条件,不能多次声明。

正确的SQL写法

根据需求,需要同时满足name字段匹配两种模式之一和source字段匹配两种模式之一,用括号明确分组条件,避免逻辑歧义:

SELECT *
FROM plants
WHERE 
    (plants.name LIKE "abc*" OR plants.name LIKE "*def*")
    AND
    (plants.source LIKE "123*" OR plants.source LIKE "*456*");

补充说明

如果需求是name满足条件 或者 source满足条件(而非同时满足),只需把AND换成OR即可:

SELECT *
FROM plants
WHERE 
    (plants.name LIKE "abc*" OR plants.name LIKE "*def*")
    OR
    (plants.source LIKE "123*" OR plants.source LIKE "*456*");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:06:34