Для запроса, который я пытаюсь написать для базы данных Oracle SQL, я просто пытаюсь получить все строки из таблицы CI, которые принадлежат кому-то/что-то, что не указано в sys_user table, результаты, возвращаемые запросом ниже при ручной проверке, фактически находятся в таблице sys_user. Stranger stil, все возвращаемые значения для owner_id одинаковы.SQL! = ALL() Сложность
SELECT
ci.sys_id as product_id,
ci.name as product,
ci.sys_class_name as class_name,
ci.owned_by as owner_id
FROM
EDQ_EDW.CMDB_CI CI,
EDQ_EDW.CMDB_SYS_USER usr
WHERE
ci.owned_by is not null
and ci.owned_by != all(usr.sys_id)
Я проверил с документацией Oracle, чтобы убедиться, что я не использую! = ALL() неправильно, и я не думаю, что я. Чем это вызвано?
Что является результатом 'select * from EDQ_EDW.CMDB_SYS_USER, где sys_id имеет значение null;' – Sebas
Кроме того, я никогда не использую этот компаратор 'all', но, похоже, в соответствии с документом ему следует следовать список или подзапрос ... – Sebas
Можете ли вы опубликовать запрос, который вы использовали для создания и вставки строк EDQ_EDW.CMDB_CI? – cdummy