gpt4 book ai didi

SQL 更新 SET 子查询?

转载 作者:行者123 更新时间:2023-12-03 02:29:53 28 4
gpt4 key购买 nike

我有一个像这样的 SQL 查询:

UPDATE ScheduleTasks  
SET
AssignedResource='360 CLEAN'
WHERE (ScheduleID = (SELECT ScheduleID FROM Schedule WHERE Job_No = 'ABC123'))
AND Description = 'Filing'

我的问题是,我有另一个名为 Resource 的表,其中包含 Resource_IDResource_Name 我想要做的是更新 scheduleTasks 表包含 Resource_ID,而不是 Resource_Name(360 CLEAN 就是它的 Resource_Name) > 不是 Resource_ID 我的问题是如何从 Resource_Name

获取 Resource_ID

最佳答案

您可以通过在 UPDATE 语句上使用 INNER JOIN 来完成此操作,如下所示:

UPDATE st SET
AssignedResource = r.Resource_ID
FROM ScheduleTasks st
-- change join conditions to your preference
INNER JOIN Resource r on r.Resource_Name = '360 CLEAN'
WHERE st.Description = 'Filing' AND EXISTS
(
SELECT s.ScheduleID
FROM Schedule s
WHERE s.Job_No = 'ABC123' AND st.ScheduleID = s.ScheduleID
)

还更新了您的查询,以优化检查 ScheduleTasks 中的 ScheduleID 是否存在于 Schedule 表中。

关于SQL 更新 SET 子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30512562/

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