寻找一种从查询中排除某些项目的方法

时间:2018-11-06 00:52:29

标签: sql-server

我有一个每天运行的查询,我想从该查询中排除某些我已经确定不想在不向数据库中添加其他表的情况下查看的项目。以下是我对此的尝试,它可以与一个TaskID一起使用,但不能像我尝试的那样与多个TaskID一起使用。

我还必须指出,该列表可以增加到大约150个ID,但如果有所不同,则不一定超过200个ID。显然,我的方法并不是最好的方法。谁能推荐实现此目标的最佳方法?

直接的问题:从以下查询中排除大量TaskID而不创建另一个表的最佳方法是什么?

SELECT  
    TaskID, MAX(timeended) AS 'Last Run' 
FROM
    [moveitautomationagain].[dbo].taskruns
WHERE
    TaskID <> 222300 OR TaskID <> 103439128
GROUP BY
    TaskID
HAVING
    DATEDIFF(HOUR, MAX(timeended), SYSDATETIME()) > 24

1 个答案:

答案 0 :(得分:2)

对于您的查询,您需要AND而不是OR。但是我会使用NOT IN,即

where TaskID not in (222300, 103439128)