我正在嘗試撰寫一個滿足這些規則的查詢:
(where CreatedDate = 06/06/2022 AND Status = Processed)從 Daily_Proc 表中讀取記錄。- 使用“ MID ”和“ Source ”列值檢查Lit_Hold_Err表中是否也存在任何特定記錄。
- 如果Lit_Hold_Err表中存在特定記錄,則將 Daily_Proc表中的狀態從“已處理”更新為“錯誤重試” 。
我可以做第一步和第二步,但不知道如何做第 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表:
| 抓住 | 中 | 資源 | 創建日期 | 地位 |
|---|---|---|---|---|
| 乙腦 | 杰利克 | [email protected] | 2022 年 6 月 3 日 | 新的 |
| 柯 | 凱克洛 | [email protected] | 2022 年 6 月 6 日 | 處理 |
| 澤 | 澤克克 | [email protected] | 2022 年 6 月 6 日 | 處理 |
Lit_Hold_Err表:
| 抓住 | 中 | 資源 | 錯誤資訊 |
|---|---|---|---|
| 柯 | 凱克洛 | [email protected] | “未找到 |
uj5u.com熱心網友回復:
您可能希望UPDATE使用一個操作來構建您的陳述句JOIN,該操作匹配兩個表Daily_Proc和Lit_Hold_Err在MID和Source列上由兩者共享。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';
在此處查看演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486964.html
