【发布时间】:2019-09-23 15:29:56
【问题描述】:
假设我有一个表items,其中有一个名为priority 的整数列,我正试图从另一个表中更新它。 (这个另一个表是一个临时表,我已经预先计算了所有要应用的适当的priority 值。)
UPDATE "items" SET "priority" = (
SELECT "newPriority" FROM "newPriorities"
);
最终发生的事情是items 中的所有条目都将其priority 设置为从newPriorities 子查询返回的first 值。
如何将priority 设置为对每条记录都不同?换句话说,如何更新items 以获取newPriorities 表中所有正确的priority 值?
样本数据
items
id priority /* some other, unreleated columns */
2108f97e-e1ce-47bf-97fd-c20699d2aa27 0
fae2347c-8644-47ba-931f-3d3cf70d3565 1
bd5ed046-47fa-49d9-9b40-2aa920511cf2 3
1fc57417-93e1-4382-8246-c4f9d117a55a 4
2ab4afbc-aa56-45af-8509-a7d9377e689d 5
7407a3a5-d410-4190-81c8-54d672f22c8d 6
1b21b57e-e907-4c25-af00-94bbf941df63 7
newPriorities
id newPriority
2108f97e-e1ce-47bf-97fd-c20699d2aa27 15
fae2347c-8644-47ba-931f-3d3cf70d3565 22
bd5ed046-47fa-49d9-9b40-2aa920511cf2 554
1fc57417-93e1-4382-8246-c4f9d117a55a 8
2ab4afbc-aa56-45af-8509-a7d9377e689d 3
7407a3a5-d410-4190-81c8-54d672f22c8d 6
1b21b57e-e907-4c25-af00-94bbf941df63 743
期望结果:newPriority 列值复制到items。
【问题讨论】:
-
您需要一个关联子句的键。样本数据和期望的结果会有所帮助。
-
@GordonLinoff 谢谢,有钥匙!我已经发布了一些示例数据和特定的期望结果。