2016-07-19 3 views
0

왜 t2에서 오류가 발생하는지 잘 모르겠습니다. 간단한 SQL 쿼리를 실행하려고합니다. MS-SQL과 오류 메시지에서 실행 는하위 쿼리가 포함 된 왼쪽 조인

UPDATE t1 

SET t1.EmpSubCompetency = t2.EmpSubCompetency, 
    t1.Competency = t2.Competency, 
t1.FileName = t2.FileName, 
t1.Longitude = t2.Longitude, 
t1.Latitude = t2.Latitude, 
t1.SubAreaName = t2.Region, 
t1.SectorTag=t2.SectorTagClassification 

FROM dbo.STG_MyCompetencies t1 

LEFT JOIN (select * from dbo.STG_EmployeeMaster where Act_Flg='Y') t2 
+0

오류가 발생하는 경우 질문에 오류 메시지를 포함시켜야하는 이유는 무엇입니까? – HoneyBadger

+5

'ON' 절이 누락되었습니다 –

+0

또한 어떤 DBMS를 사용하고 있습니까? MySQL은? SQL Server? 신탁? –

답변

1

귀하의 문제가 누락 된 ON 절입니다 '(T2) 근처에 잘못된 구문'을 말한다. 또한,이 논리에 대한 하위 쿼리를 필요가 없습니다 일치하지 않는 행이 NULL로 설정된 모든 열이있을 것이다

FROM dbo.STG_MyCompetencies t1 LEFT JOIN 
    dbo.STG_EmployeeMaster t2 
    ON t1.??? = t2.??? AND 
     em.Act_Flg = 'Y' 

참고.

???JOIN에 대해 어떤 열을 사용해야하는지에 대한 것입니다.

+0

이 작동합니다. 감사. 확인 만하면 언제든지 하위 쿼리를 피하는 것이 좋습니다. –

+0

@curious_learner. . . 쿼리를 필요 이상으로 복잡하게 만들면 안됩니다. 부속 조회는 필요하지 않습니다. –

관련 문제