mysql - 与多个 AND 谓词混淆
问题描述
SELECT *
FROM TABLE
WHERE classi_type = '3'
AND job_role IN (52)
AND job_qualification IN (25)
AND job_type IN (7)
AND job_gender = 'Female'
AND (job_expmin >= '5'
AND job_expmax <= '10')
OR (job_salmin >= '0'
AND job_salmax <= '30000')
OR (job_agemin >= '24'
AND job_agemax <= '33')
IN
条件正在发挥作用。问题在于多个AND
.
解决方案
我认为你只需要正确的括号:
Select *
from table
where classi_type = '3' AND
job_role IN (52) AND
job_qualification IN (25) AND
job_type IN (7) AND
job_gender = 'Female' AND
((job_expmin >= 5 AND job_expmax <= 10) OR
(job_salmin >= 0 AND job_salmax <= 30000) OR
(job_agemin >= 24 AND job_agemax <= 33)
)
我猜最后六个引用的列实际上是某种数字。比较应该是数字,而不是字符串。
推荐阅读
- system-verilog - SystemVerilog:将两个一维数组转换为二维数组
- html - Html缓存 - 如何在html标签中设置它
- python - Python 3 Tkinter:如何在框架中混合两侧,例如。按钮(侧=“左下”)
- c# - '类型 FileConfigurationSource 不包含 ConfigurationElementTypeAttribute。'
- ios - Ionic 3.2 无法在 IOS 应用程序中加载 json
- python - 使用旧数据库时,Django“未定义”对象没有属性 id
- vector - Julia:为特定大小的向量制作类型
- python - 试图在 Windows 机器上部署 Django
- android - 关于将 android 块添加到顶级 build.gradle 的 Android 文档是否错误
- java - 如何使用 Java 注释设置 Spring Integration Collaborating Channel 适配器?