Sql 从内部联接更新列

Sql 从内部联接更新列,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有一个论坛的帖子表,基本上有一行用于发布pdf文件,然后有另一行用于发布pdf附带的图像url。所以我从posts表中取出所有行,并将它们插入Item表中(如果它们是pdf)。现在,我在Item表中有一列,我想用posts表中的行来填充它,posts表中有我想要的图像 UPDATE Item i Set i.ImageUrl = p.guid JOIN posts p ON i.old_id = p.parent_post where p.PostType = 'image' 我在任何地方都

我有一个论坛的帖子表,基本上有一行用于发布pdf文件,然后有另一行用于发布pdf附带的图像url。所以我从posts表中取出所有行,并将它们插入Item表中(如果它们是pdf)。现在,我在Item表中有一列,我想用posts表中的行来填充它,posts表中有我想要的图像

UPDATE Item i Set i.ImageUrl = p.guid
JOIN posts p ON i.old_id = p.parent_post
where p.PostType = 'image'

我在任何地方都找不到一个好的例子,它是一个使用连接并包含WHERE子句的更新,有人知道我做错了什么吗?

SQL Server中正确的语法看起来更像这样:

UPDATE i
    SET ImageUrl = p.guid
    FROM Item i JOIN
         posts p
         ON i.old_id = p.parent_post
    WHERE p.PostType = 'image';