admin

SQL:联接两个表(LEFT OUTER JOIN),然后更新值

sql

我试图根据另一张表中的值更新一列中的值。

如果列都在同一个表中,则可以执行以下操作:

UPDATE wp_posts 
SET post_date = REPLACE (post_date, 'X', 'Y') 
WHERE meta_value = 'Z';

但是我需要先连接两个表才能进行更新:

SELECT * 
FROM wp_posts 
LEFT OUTER JOIN wp_postmeta ON post_id = post_id

如何根据已加入的两个表进行更新?


阅读 224

收藏
2021-06-07

共1个答案

admin

如果您使用 SQL Server* ,请尝试这种方式 *

UPDATE WP
SET WP.post_date = REPLACE(WPM.post_date, 'X', 'Y') 
FROM wp_posts WP 
   LEFT OUTER JOIN wp_postmeta WPM ON WP.post_id = WPM.post_id
WHERE WP.meta_value = 'Z';

更新:

如果您使用的是 MySQL 。这是 MySQL 的更新 __

UPDATE wp_posts WP 
   LEFT JOIN wp_postmeta WPM ON WP.post_id = WPM.post_id
SET WP.post_date = REPLACE(WPM.post_date, 'X', 'Y') 
WHERE meta_value = 'Z';
2021-06-07