Ответ на ваш вопрос («почему нет ошибок») выше, но, возможно, небольшая помощь в том, как избежать такого типа проблем в будущем: вместо использования подзапроса используйте левое соединение:
SELECT C.*
FROM SomeOtherDb.dbo.Customer AS C
LEFT JOIN Stocks.dbo.Suppliers AS S ON C.CustomerId = S.CustomerId
WHERE S.CustomerID Is Null
Этот запрос, если он создан с возможным объединением, всегда будет работать так же хорошо, как ваш первоначальный или лучше - и вы получите дополнительное преимущество, которое позволит избежать этой неприятной проблемы, описанной выше. Поскольку в этой конструкции вы, естественно, будете использовать имена таблиц, это станет более очевидным, когда возникнет проблема, например, одно и то же имя таблицы по обе стороны от знака равенства. Подзапросы отстой, я нахожусь в постоянном крестовом походе против них.
(при этом я знаю, что многие люди проводят крестовый поход против псевдонимов, который я использовал выше для упрощения / сжатия кода:))