我有一个每天运行的查询,我想从该查询中排除某些我已经确定不想在不向数据库中添加其他表的情况下查看的项目。以下是我对此的尝试,它可以与一个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
答案 0 :(得分:2)
对于您的查询,您需要AND
而不是OR
。但是我会使用NOT IN
,即
where TaskID not in (222300, 103439128)