多部分标识符无法与update语句绑定错误,并且where where

时间:2015-11-26 19:34:52

标签: sql sql-server

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

  

Msg 4104,Level 16,State 1,Procedure USP_Group11HtmlFileDetails,   第71行   无法绑定多部分标识符“t_FI.Fullimage”。

     

Msg 4104,Level 16,State 1,Procedure 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)

1 个答案:

答案 0 :(得分:2)

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