WQL 喜欢和不喜欢多值组合

WQL like & not like multiple values combination

我想使用 WQL 查询根据以下条件筛选出 SCCM 设备集合中的设备:名称包含 CS、MON、AVS、WUG、FS 或 IBM 而不是 DR 或 LON

这是我的查询:

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System where SMS_R_System.Name like "%CS%" or SMS_R_System.Name like "%MON%" or SMS_R_System.Name like "%AVS%" or SMS_R_System.Name like "%WUG%" or SMS_R_System.Name like "%FS%" and SMS_R_System.Name not like "%DR%" and SMS_R_System.Name not like "%LON%"

我也尝试过在字段名称前使用 'not' 运算符:

...and not SMS_R_System.Name like "%DR%" and not SMS_R_System.Name like "%LON%"

但是,'not' 运算符会被忽略。

如果我只是同时使用一个 'like' 和一个 'not like' 参数,但添加任何额外的 'like' 值似乎会阻止它工作。

我很确定我正在尝试做的事情可以完成,但显然遗漏了一些东西。有什么想法吗?

使用 Syberdoor 提供的建议,我设法通过在 like 和 not like 运算符周围使用括号来有效地创建一个喜欢和一个不喜欢的组而不是许多:

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System where (SMS_R_System.Name like "%CS%" or SMS_R_System.Name like "%MON%" or SMS_R_System.Name like "%AVS%" or SMS_R_System.Name like "%WUG%" or SMS_R_System.Name like "%FS%" or SMS_R_System.Name like "%IBM%") and not (SMS_R_System.Name like "%DR%" or SMS_R_System.Name like "%LON%")

感谢。