从内部联接更新列

时间:2014-11-27 05:04:08

标签: sql sql-server tsql

我有一个来自论坛的帖子表,基本上有一行用于发布pdf文件,然后还有另一行用于发布与pdf一起发布的图像URL。所以我从posts表中取出所有行,如果它们是pdf,则将它们插入到Item表中。现在我在Item表中有一个列,我希望在posts表中填充基本上我想要的图像的行

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

我无法在任何使用连接且具有WHERE子句的Update中找到一个好的示例,有没有人知道我做错了什么?

1 个答案:

答案 0 :(得分:2)

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';