Оператор IN в WQL
Мне нужно написать WMI-запрос, в котором мне нужно проверить, что какое-то значение равно одному из значений в списке, но я не обнаружил, что WQL поддерживает оператор IN, такой как SQL.
Например: ВЫБРАТЬ * С устройства, ГДЕ __CLASS IN ("Устройство1", "Устройство20").
Как написать этот запрос?
Благодарю.
1 ответ
Решение
WMI использует WQL
язык, который является только подмножеством языка SQL и не включает в себя IN
оператор.
Таким образом, вы можете переписать предложение с помощью оператора ИЛИ, например, так
SELECT * FROM Win32_LogicalDisk Where (DriveType=3) or (DriveType=5)
или используя ваше WQL-предложение.
SELECT * FROM Device WHERE (__CLASS="Device1") OR (__CLASS="Device20")