假设我有一张桌子,items
,有一个名为的整数列priority
,我正在尝试从另一个表更新它。 (另一个表是一个临时表,我已经在其中预先计算了所有适当的priority
要应用的值。)
UPDATE "items" SET "priority" = (
SELECT "newPriority" FROM "newPriorities"
);
最终发生的事情是所有条目items
有他们的priority
设置为first返回值newPriorities
子查询。
我该如何设置priority
每个记录都不同?换句话说,我该如何更新items
拥有所有正确的priority
值来自newPriorities
table?
样本数据
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
.
你似乎想要:
UPDATE "items" as i
SET "priority" = (SELECT "newPriority"
FROM "newPriorities" np
WHERE np.id = i.id
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)