Ошибка оператора NOT IN Oracle

Вот мой запрос:

Select a.* from Table1 a, Table2 b
Where 
a.tid=b.tid and 
b.createddate=(Select max(createddate) from Table2) and
a.tid not in (Select distinct tid from Table3);

Проблема в том, что я знаю, что это должно вернуть какой-то правильный вывод, но это не так. Проблема с последней строкой в ​​a.tid, а не в (Выберите отдельный tid из таблицы 3 ); Если я заменю «Выбрать отдельный tid из таблицы 3» жестко закодированными значениями, такими как («T001», «T002», «T003», «T004» ), тогда он работает нормально и возвращает данные.

Что не так? Я что-то упускаю? Пожалуйста помоги.

5
задан RedFilter 18 July 2012 в 19:24
поделиться