【问题标题】:T-SQL The multi-part identifier could not be boundT-SQL 无法绑定多部分标识符
【发布时间】:2014-07-08 23:56:38
【问题描述】:

我正在创建这个查询,但我遇到了这个错误:

[执行 SQL 任务] 错误:执行查询“UPDATE Tech_Helpline.dbo.Calls SET Tech_Helpline.d...”失败,出现以下错误:“无法绑定多部分标识符“LampsGarLive.dbo.i8pupu_Tech Hotline Primary Members.AssociationName”。可能的失败原因:查询有问题,“ResultSet " 属性设置不正确、参数设置不正确或连接未正确建立。

这两个表来自不同的数据库(在同一个 SQL Server 中)。我正在尝试做的是将 i8pupu 表(AssociationName 列)中的 AssociationNames 合并到 Calls 表(Association 列),其中(Calls.NRDS = [i8pupu_Tech Hotline Primary Members].NRDSMember_id)。我需要保留 Calls 表中的所有行。

注意:我使用执行 SQL 任务工具将此代码放入 SQL Server 2008R2 SSIS 包中。

UPDATE Tech_Helpline.dbo.Calls
SET Tech_Helpline.dbo.Calls.Association = LampsGarLive.dbo.[i8pupu_Tech Hotline Primary Members].AssociationName
FROM Tech_Helpline.dbo.Calls As T1
LEFT JOIN LampsGarLive.dbo.[i8pupu_Tech Hotline Primary Members] AS T2
ON T1.NRDS = T2.NRDSMember_id

有人想帮我解决这个问题吗?感谢您的帮助!

乔什

【问题讨论】:

    标签: sql sql-update


    【解决方案1】:

    使用别名:

    UPDATE T1 
    SET T1.Association = T2.AssociationName
    FROM Tech_Helpline.dbo.Calls As T1
          LEFT JOIN LampsGarLive.dbo.[i8pupu_Tech Hotline Primary Members] AS T2
    ON T1.NRDS = T2.NRDSMember_id
    

    【讨论】:

    • 感谢您的帮助。我做了改变。代码更简洁,但我现在收到此错误:[执行 SQL 任务] 错误:执行查询“UPDATE T1.Calls SET T1.Association = T2.Associatio...”失败,出现以下错误:“无效的对象名称” T1.Calls'。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接没有正确建立。
    • 我正在使用执行 SQL 任务工具在 SQL Server 2008R2 SSIS 包中执行此操作。这会有所作为吗?
    • 我认为您在我编辑之前已经接受了查询。应该是UPDATE T1 .. NOT UPDATE T1.Calls ..
    猜你喜欢
    • 2014-10-23
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多