簡體   English   中英

SQL:聯接兩個表(LEFT OUTER JOIN),然后更新值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM