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”。
如何解决这个问题?
答案1
尝试这个:
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]
如果不在 JOIN 子句中包含 person 表,SQL 就不会意识到它的存在。
如果这没有帮助,您还应该检查以下内容:
您确定名为“ULGP_CARES TEST”的数据库存在吗?可能是拼写或大小写不同,或者空格字符实际上是下划线,反之亦然。同一个数据库名称中同时出现下划线和空格的情况并不常见。
您确定名为“person”的表存在于名为“ULGP_CARES TEST”的数据库中吗?也许它的拼写或大小写不同,或者它不是“dbo”架构的一部分。
您确定“first_name”、“middle_name”和“last_name”列存在于名为“ULGP_CARES TEST”的数据库的名为“person”的表中吗?可能是拼写或大小写不同。