O código não parece estar correto... você tem
...WHERE (SELECT...)
Onde o que? Tem certeza de que não está atrás
SELECT MyCols FROM MyTable WHERE ID IN (...)
OU
SELECT MyCols FROM MyTable WHERE ID NOT IN (...)
Onde
(...)
representa outro select retornando algum tipo de ID. Caso contrário, é claro que você obteria um tempo limite. Essa seleção pode retornar uma contagem e
WHERE 1
pode continuar e continuar...