SQL- 如果值存在于 2 个不同的 table,如何 UpdateMain table?

SQL- how to UpdateMain table if the values are existing from 2 different table?

我一直在尝试弄清楚如何创建一个 SQL 查询来更新主 table 如果值存在于 2 个不同的 table?

示例:

Table1 (Main)
Employee Number
Name
First Name
Document Name
Filename
Original fileName
DL_Status

Table 2 (list table)
Employee Number
Document Name
Original Filename

Table 3(DIR list)
Original fileName
created
extension file name

输出: DL_Status 应标记为 "Completed" 并且仅当原始文件名存在于 Table 3?

时,原始文件名才会从 table2 条目中填充

您可以在 Table2 和 table3 上应用联接,然后编写脚本将数据更新到主 table 注:如果明确提到数据,答案会更具体。

尝试这样的事情:

update table1 
set dl_status = a.dl_status,
Original_Filename =a.Original_Filename  
from
(select t2.Employee Number, 'Completed' as dl_status,t2.Original_Filename  
from table2  t2,table3  t3
where t2.Original_Filename= t3.Original_Filename) a
where a.Employee Number = table1.Employee Number

很有可能

UPDATE m
SET [DL_Status] ='Completed', 
    [Original fileName] = f.[Original fileName]
FROM [Main] m
JOIN [list table] l ON l.[Employee Number] = m.[Employee Number] AND l.[Document Name] = m.[Document Name]
JOIN [DIR list] f ON l.[Original fileName] = f.[Original fileName]
-- optionally
WHERE m.[DL_Status] <> 'Completed' OR m.[Original fileName] <> f.[Original fileName]