簡體   English   中英

使用另一個查詢的結果更新表

[英]Update table using result of another query

我有以下查詢可以正常工作

SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1

此外,我還有另一個表(table2),其中包含(除其他外)RecordID 和 Rank 字段。 我想根據上面的查詢結果更新 table2 中的 RecordID 和 Rank。 那可能嗎?

是的,您可以在 Postgres 的update中包含多個表:

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;

對我mysql (在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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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