【问题标题】:simple update with right join using mysql使用 mysql 进行右连接的简单更新
【发布时间】:2014-01-27 14:04:02
【问题描述】:
我有两个表,每个表都包含相同的值(在大多数情况下)
我能够从表 1 中获取行 ID,其中表 1 值 = 表 2 值
SELECT wp_posts.ID
FROM `wp_posts`
RIGHT OUTER JOIN `wp_wpfb_files` ON wp_posts.post_name = wp_wpfb_files.file_display_name)
现在我想更新表 2 并将列 attach_id 设置为等于表 1 中的帖子 ID,其中它们根据连接结果共享相同的值。我很难理解这一点。
提前感谢您的帮助
【问题讨论】:
标签:
mysql
sql
join
sql-update
right-join
【解决方案1】:
试试这个:
UPDATE `wp_wpfb_files` wf
LEFT JOIN `wp_posts` wp ON wf.file_display_name = wp.post_name
SET wf.attach_id = wp.ID;
【解决方案2】:
update wp_wpfb_files set attach_id =
(SELECT wp_posts.ID FROM `wp_posts`
RIGHT OUTER JOIN
`wp_wpfb_files` ON
wp_posts.post_name = wp_wpfb_files.file_display_name
)