gpt4 book ai didi

sql - 使用子查询中的多个值进行更新

转载 作者:行者123 更新时间:2023-12-03 17:56:16 24 4
gpt4 key购买 nike

假设我有一个表items,其中有一个名为priority的整数列,我正尝试从另一个表中进行更新。 (这另一个表是一个临时表,我已经在其中预先计算了要应用的所有适当的priority值。)

UPDATE "items" SET "priority" = (
SELECT "newPriority" FROM "newPriorities"
);


最终发生的是,所有 items中的条目的 priority都设置为从 newPriorities子查询返回的第一个值。

如何将每个记录的 priority设置为不同?换句话说,如何将 items更新为具有 priority表中所有正确的 newPriorities值?

样本数据

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
);

关于sql - 使用子查询中的多个值进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55997684/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com