NOT IN не работает в sybase?
У меня есть две таблицы, скажем, Table1 и Table2, и обе таблицы имеют имя столбца и идентификатор
Я хочу получить все имя из таблицы 2, которого нет в таблице 1. Я написал запрос ниже:
Select Name,ID FROM Table2 t2 WHERE t2.Name NOT IN (Select t1.Name FROM Table1 t1);
но этот запрос не дает ожидаемого результата, я имею в виду, что он также дает мне имя, которое находится в таблице 1.
Я сделал несколько Google и обнаружил, что это может быть, если Table1 имеет нулевые значения, т. Е. Если результат подзапроса содержит нулевое значение. хотя моя таблица не имеет нулевых значений, но чтобы убедиться, что это не проблема, я переписал запрос, но без муравейной удачи:
Select Name,ID FROM Table2 t2 WHERE t2.Name
NOT IN (Select t1.Name FROM Table1 t1 where t1.Name is not null);
Тем не менее, я не получаю ожидаемого результата, но, как ни странно, какое-то время он дает ожидаемый результат, а какое-то время помощь не будет оценена.
Есть ли ошибка в Sybase 16? Я использую Sybase 16 с DB-визуализатором.
ОБНОВЛЕНИЕ Если у меня есть данные ниже
Таблица 1
Name ID
-------------------
Jay 1
---------------------
Таблица 2
Name ID
-------------------
Jay 1
Tom 2
---------------------
Ожидаемый результат
Name ID
-------------------
Tom 2
---------------------
но я получаю:
Результат приходит
Name ID
-------------------
Jay 1
Tom 2
---------------------
Пожалуйста, обратите внимание, что иногда я получаю ожидаемый результат, но не знаю, почему иногда он работает как положено, а иногда нет