SQL Server 2008 подзапрос с ошибкой. До сих пор работает основной запрос - PullRequest
2 голосов
/ 14 октября 2011

Хорошо, может быть, я нуб в sql, но я не могу понять, почему это должно работать:

У меня есть Table1 вроде:

IDRecord (PK), Description, IDTable2 (FK)

и Table2например:

IDRecord (PK), Description

с Table1.IDTable2 в качестве FK для Table2.IDRecord.

Тогда у меня очень простой запрос:

select * from Table1
where IDTable2 not in (select IDMispelledRecord from Table2)

У меня естьсделал синтаксическую ошибку!В Таблице 2 нет столбца с именем IDMispelledRecord, и если я выполняю только один подзапрос, он возвращает мне

Invalid column name 'IDMispelledRecord'.

Но если я выполняю запрос WHOLE, он не вызывает ошибку, просто возвращает 0 строк.

Может кто-нибудь сказать мне, почему?

1 Ответ

2 голосов
/ 14 октября 2011

Хотя ваш вопрос не показывает это (пожалуйста, опубликуйте свой фактический код в будущем) Table1 должен иметь столбец с именем IDMispelledRecord.

Ваш подзапрос ссылается на этот столбец из внешнего запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...