[英]SQL: join two tables (LEFT OUTER JOIN) then update values
我试图根据另一张表中的值更新一列中的值。
如果列都在同一表中,则可以执行以下操作:
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
如何根据已加入的两个表进行更新?
如果您使用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';
SQL服务器
UPDATE wp_posts
post_date = REPLACE (post_date, 'X', 'Y')
FROM wp_posts WP LEFT OUTER JOIN wp_postmeta WPM ON WP.post_id = WPM.post_id
WHERE meta_value = 'Z';
MySQL的
UPDATE wp_posts
LEFT JOIN wp_postmeta WPM ON WP.post_id = WPM.post_id
SET post_date = REPLACE (post_date, 'X', 'Y')
WHERE meta_value = 'Z'
UPDATE wp_posts SET post_date = REPLACE (WPM.post_date, 'X', 'Y')
FROM wp_posts AS WP
LEFT OUTER JOIN wp_postmeta AS WPM ON WP.post_id = WPM.post_id
WHERE WP.meta_value = 'Z'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.