Назад | Перейти на главную страницу

SQL Server 2008 R2: ошибка

insert into [ULGP_CARES TEST].[dbo].[person](date_of_birth)

select [Dtest].[dbo].[ContactBase].[BirthDate] 
from [Dtest].[dbo].[ContactBase]
where
[Dtest].[dbo].[ContactBase].[FirstName]=[ULGP_CARES TEST].[dbo].[person].[first_name]

and
[Dtest].[dbo].[ContactBase].[MiddleName]=[ULGP_CARES TEST].[dbo].[person].  [middle_name] 
and
[Dtest].[dbo].[ContactBase].[LastName]=[ULGP_CARES TEST].[dbo].[person].[last_name]

при попытке выполнить вышеуказанный запрос я получаю следующую ошибку: «Сообщение 4104, уровень 16, состояние 1, строка 6. Не удалось связать составной идентификатор« ULGP_CARES TEST.dbo.person.first_name ». Сообщение 4104, уровень 16 , Состояние 1, строка 9 Не удалось связать составной идентификатор "ULGP_CARES TEST.dbo.person.middle_name" Сообщение 4104, уровень 16, состояние 1, строка 11 Составной идентификатор "ULGP_CARES TEST.dbo.person. last_name "не может быть привязан".

как это решить?

Попробуй это:

insert into [ULGP_CARES TEST].[dbo].[person](date_of_birth)
select [Dtest].[dbo].[ContactBase].[BirthDate] 
from [Dtest].[dbo].[ContactBase]
join [ULGP_CARES TEST].[dbo].[person] 
on [ContactBase].[FirstName]=[person].[first_name]
and [ContactBase].[MiddleName]=[person].[middle_name] 
and [ContactBase].[LastName]=[person].[last_name]

Без включения таблицы person в предложение JOIN SQL не осознает, что она существует.

Если это не поможет, вам также следует проверить следующее:

Вы уверены, что база данных с именем «ULGP_CARES TEST» существует? Возможно, он написан или написан по-разному, или что пробел на самом деле является подчеркиванием, или наоборот. Необычно использовать подчеркивание и пробел в одном и том же имени базы данных.

Вы уверены, что таблица с именем "person" существует в базе данных с именем "ULGP_CARES TEST"? Возможно, он написан или написан по-другому, или, возможно, он не является частью схемы «dbo».

Вы уверены, что столбцы «first_name», «middle_name» и «last_name» существуют в таблице с именем «person» в базе данных с именем «ULGP_CARES TEST»? Возможно, он пишется или пишется по-разному.