使用另一个查询的结果更新 table
Update table using result of another query
我有以下查询工作正常
SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1
此外,我还有另一个 table(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
)是:
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;
我有以下查询工作正常
SELECT RecordID, ROW_NUMBER() OVER (ORDER BY (Value1) DESC) AS Rank
FROM Table1
此外,我还有另一个 table(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
)是:
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;