我有一个足够简单的查询,运行良好:

SELECT
     Name, JobStatus
FROM
     ScheduleRequest
WHERE
     ScheduleDate >= '2018-07-11'
AND
     JobStatus <> 6

我需要检查同一个字段“JobStatus”中的不同值。当我试图像这样修改查询时,我发现只有最后一个值95显示出来了?
SELECT
     Name, JobStatus
FROM
    ScheduleRequest
WHERE
    ScheduleDate >= '2018-07-11'
    AND (JobStatus <> 6
        OR JobStatus <> 0
        OR JobStatus <> 1
        OR JobStatus <> 4
        OR JobStatus <> 95
    )

最佳答案

使用NOT IN表达式

SELECT
     Name, JobStatus
FROM
    ScheduleRequest
WHERE
     ScheduleDate >= '2018-07-11'

    AND JobStatus NOT IN (6, 0, 1, 4, 95)

关于mysql - MySQL AND/OR SELECT语句中的多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51293225/

10-11 01:34