我正在嘗試查看是否可以用同一表中其他位置的列中的一組單元格替換列中一組單元格的內容。
例子:
Book
-------
id payload
1 a
2 b
3 c
4 d
5 e
我想要一個查詢,使其如下
Book
-------
id payload
1 c
2 e
3 c
4 d
5 e
假設我想要 3,5 的有效載荷來替換 1,2 的內容。
這是我的嘗試:
update
(
select id, payload
from Books
where id in (1,2)
) as normal_book_1
join
(
select id, payload
from Books
where id in (3,5)
) as normal_book_2
set normal_book_1.payload = normal_book_2.payload;
uj5u.com熱心網友回復:
您可以執行兩條UPDATE陳述句,如下所示:
update books
set payload = (select payload from books where id = 3)
where id = 1
update books
set payload = (select payload from books where id = 5)
where id = 2;
uj5u.com熱心網友回復:
您可以使用ON子句中的列映射進行自連接:
UPDATE Book b1
INNER JOIN Book b2 ON (b1.id, b2.id) IN ((1, 3), (2, 5))
SET b1.payload = b2.payload;
請參閱演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/315231.html
