2017-09-15 13 views
0

나는 값이 2 개의 다른 테이블에서 존재하는 경우에 주 테이블을 새롭게하기 위하여 SQL 쿼리를 만드는 방법에 대해 알아 내려고 노력하고 있습니까?값이 2 개의 다른 테이블에서 존재하는 경우 UpdateMain 테이블에 SQL- 어떻게?

예 :

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가 "완료"로 표시한다 원래 파일명 표 3에서 존재하는 경우에만 원본 파일명 표 2 항목에서 채워 것인가?

+3

당신의 논리를 설명하고 일부 데이터를 제시해주십시오. 귀하의 질문에 분명하지 않습니다. –

+0

아마도이 수준의 데이터 중복성을 없앨 수도 있습니다. – Magisch

+0

두 개의 물음표가 보이지만 정확히 무엇이 문제입니까? – Sami

답변

0

테이블 2와 테이블 3에 조인을 적용한 다음 데이터를 주 테이블에 업데이트하는 스크립트를 작성할 수 있습니다. 참고 : 데이터가 명확하게 언급되어 있으면 대답이 더 구체적입니다. 이 같은

0

시도 뭔가 :

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 
0

대부분의 아마

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]