[英]How to check with different table and update it in SQL Server
我正在尝试编写一个符合这些规则的查询:
(where CreatedDate = 06/06/2022 AND Status = Processed)
。我能够执行第一步和第二步,但不确定如何执行第 3 步。
SELECT *
FROM Daily_Proc
WHERE CreatedDate > '06/06/2022 0:00:00'
AND Status = 'Processed'
AND (MID in (SELECT MID
FROM Lit_Hold_Err)
AND Source In(Select Source
From Lit_Hold_Err))
Daily_Proc表:
抓住 | 中 | 来源 | 创建日期 | 地位 |
---|---|---|---|---|
乙脑 | 杰力克 | JELEEK@gmail.com | 06/03/2022 | 新的 |
柯 | 可可乐 | KEKELO@gmail.com | 06/06/2022 | 处理 |
泽 | 齐克克 | ZEKEKE@gmail.com | 06/06/2022 | 处理 |
Lit_Hold_Err表:
抓住 | 中 | 来源 | 错误信息 |
---|---|---|---|
柯 | 可可乐 | KEKELO@gmail.com | “未找到 |
您可能希望使用JOIN
操作构建UPDATE
语句,该操作在MID和Source列上与两个表Daily_Proc和Lit_Hold_Err相匹配。 DailyProc.CreatedDate和DailyProc.Status的其他条件可以位于WHERE
语句内。
UPDATE Daily_Proc
SET Status = 'Error-Retry'
FROM Daily_Proc
INNER JOIN Lit_Hold_Err
ON Daily_Proc.MID = Lit_Hold_Err.MID
AND Daily_Proc.Source = Lit_Hold_Err.Source
WHERE Daily_Proc.CreatedDate = '06/06/2022'
AND Daily_Proc.Status = 'Processed';
在此处查看演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.