We are attempting to create a Dynamic Group with the following settings
Though we are seeing numerous devices that do not match the OS type show up once we click Apply Filters.
Unified Infrastructure Manager 8.x and above.
The filtering uses SQL Boolean logic. Precedence is taken into account much like algebra.
Labeling the above screenshot we have
UNIX = A
.localhost = B
.com = C
So, in the screenshot above we think the SQL is showing "if A and (B or C)" but in reality, we are doing if (A and B) or C so if C is true, it does not check if A and B are true.
For this example the workaround is to duplicate the "And" attribute, which is Unix. So you would have A and B or A and C which would translate to
(A and B) or (C and A). Translating this back into words we would have (UNIX and .localhost) or (UNIX and .com).
SQLServer Logical Operator Precedence