Tho*_*mas 7 sql postgresql join sql-update
我有以下查询工作正常
SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1
Run Code Online (Sandbox Code Playgroud)
另外,我有另一个表(table2),其中包含(其中包括)RecordID和Rank字段.我想根据上面的查询结果更新table2中的RecordID和Rank.那可能吗?
Gor*_*off 18
是的,你可以update在Postgres中有多个表:
update table2
set rank = t1.rank
from (SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1
) t1
where table2.RecordId = t1.RecordId;
Run Code Online (Sandbox Code Playgroud)
对我有用的(在mysql)是:
update table2, (SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1) tempTable
set table2.Rank = tempTable.Rank
where table2.RecordId = tempTable.RecordId;
Run Code Online (Sandbox Code Playgroud)