2016-07-18 10 views
2

Der Versuch, eine einfache Update-Abfrage laufen, aber es führt den folgenden Fehler in Zeile 5Fehler bei Update-Abfrage: falsche Syntax in der Nähe von '='

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' 

es ein Fehler ist zu werfen:

Incorrect syntax near '='.

Ich verstehe nicht, wo ist der Fehler?

+8

'join' unter zwei Bedingungen sollte' verwenden und' statt ',' zu trennen – xbb

+1

„Nicht sicher, warum es nicht das Komma zu mögen“ - denn es ist nicht die richtige Syntax - Verwendung 'und' stattdessen –

+0

'Join'-Bedingungen müssen auf einen Boolean-Wert true (die verknüpften Datensätze einschließen) oder auf false (die Datensätze werden ausgeschlossen) vereinfacht werden. genau wie soll 't3.gpn = t1.tpn, t3.name = t1.name' ausgewertet werden? Was ist "wahr, falsch"? –

Antwort

4

Verwenden Sie UND.

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' 
Verwandte Themen