从内部连接更新列[重复]

Posted

技术标签:

【中文标题】从内部连接更新列[重复]【英文标题】:Update column from inner join [duplicate] 【发布时间】:2015-01-25 14:56:44 【问题描述】:

我有一张来自论坛的帖子表,基本上有一行用于发布 pdf 文件,然后还有另一行用于发布与 pdf 相关的图像 url。因此,如果它们是pdf,我将所有行从posts 表中取出并插入到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 子句的更新,有人知道我做错了什么吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于从内部连接更新列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

mysql更新列内部连接另一个表

MYSQL - 更新/内部连接 ​​[重复]

3个表的内部连接给出重复的结果

使用连接更新表 [重复]

来自内部连接查询的更新集抛出错误 [重复]

SQLAlchemy - 从自动加载表的内部连接映射列的子集