не удалось связать идентификатор из нескольких частей при использовании запроса UPDATE - PullRequest
0 голосов
/ 12 января 2012

Я пытаюсь обновить адрес электронной почты из таблицы B_A в таблицу A, если адрес электронной почты отличается от таблицы B_A отличается от таблицы A.

запрос, который я пытаюсь:

UPDATE A
SET Email = ( select [Email Address] from [B_A] where A.Email <> [B_A].[Email_Address])
where A.ID = [B_A].[ID]

и моя ошибка: the multi part identifier [B_A].[ID] could not be bound

как мне нормализовать этот запрос для запуска?

1 Ответ

0 голосов
/ 12 января 2012

Ваша проблема выглядит так, как будто вы ссылаетесь на таблицу из вашего внутреннего запроса во внешнем запросе. Внешний оператор не знает о таблице B_A, потому что вы определили только внутреннюю.

Вы можете попробовать что-то вроде этого:

UPDATE A
JOIN B_A on A.id = B_A.id
SET A.email = B_A.email
WHERE A.email <> B_A.email

Не уверен, что UPDATE JOIN доступен в SQL Server, но этот синтаксис будет работать с другими базами данных.

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