2016-07-18 2 views
2

간단한 업데이트 쿼리를 실행하려고하지만 그것은 오류를 던지고 5오류 :</p> <blockquote> <p>Incorrect syntax near '='.</p> </blockquote> <p>:

update t3 
set t3.Act_Flg = 'N', t3.ActiveEndDate = getdate() 
from dbo.STG_EmployeeMaster_TEMP t3 
inner join dbo.TEMP_EmployeeMaster t1 on t3.GPN = t1.GPN, t3.Name = t1.Name 
where t1.RecordChangedFlag = 'Y' 

줄에 다음 오류가 발생합니다 '='근처의 구문이 잘못되었습니다 나는 실수가 어디로 가고 있지 않습니까?

+8

'두 가지 조건에 join'을 분리','and' 대신'의 사용해야 – xbb

+1

"왜 쉼표 좋아하지 않는 그 확실하지"- 그것은 올바른 구문이 아니기 때문에 - 대신 사용'AND', –

+0

을 'join' 조건은 부울 true (조인 된 레코드 포함) 또는 false (레코드 제외)로 단순화해야합니다. 정확히 어떻게't3.gpn = t1.tpn, t3.name = t1.name'을 평가해야합니까? '진실하고 거짓된'것이 무엇이 될까요? –

답변

4

AND를 사용하십시오.

update t3 
set t3.Act_Flg='N', t3.ActiveEndDate=getdate() 
from dbo.STG_EmployeeMaster_TEMP t3 INNER join dbo.TEMP_EmployeeMaster t1 
on t3.GPN=t1.GPN and 
t3.Name = t1.Name 
where t1.RecordChangedFlag='Y'