【问题标题】:The multi-part identifier could not be bound error with update statement and where exists clause多部分标识符无法绑定更新语句和 where exists 子句错误
【发布时间】:2015-11-26 19:34:51
【问题描述】:

我的查询如下所示。我收到错误

消息 4104,级别 16,状态 1,过程 USP_Group11HtmlFileDetails, 71号线
无法绑定多部分标识符“t_FI.Fullimage”。

消息 4104,级别 16,状态 1,过程 USP_Group11HtmlFileDetails, 71号线
无法绑定多部分标识符“t_FI.Caption”。

@tblGroup11HtmlFileImages 是表变量,其类型与 ta 完全相同

查询

UPDATE FI 
SET FI.Fullimage = t_FI.Fullimage, 
    FI.Caption  = t_FI.Caption
FROM tblGroup11HtmlFileImages FI 
WHERE EXISTS (SELECT * 
              FROM @tblGroup11HtmlFileImages t_FI 
              WHERE t_FI.[FileName] = FI.[FileName] 
                AND t_FI.Thumbnail = FI.Thumbnail)

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    exists 运算符仅检查值是否存在,实际上没有从 Exists 运算符检索值。

    你需要像这样连接这两个表......

    UPDATE FI 
       SET  FI.Fullimage = t_FI.Fullimage
          , FI.Caption  = t_FI.Caption
    FROM tblGroup11HtmlFileImages FI 
    INNER JOIN @tblGroup11HtmlFileImages t_FI 
    ON t_FI.[FileName] = FI.[FileName] 
    AND t_FI.Thumbnail = FI.Thumbnail
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多