2016-07-18 22 views
2

は、単純な更新クエリを実行しようとしているが、それはそれはエラーを投げて5エラー:付近に正しくない構文「=」

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' 

行に次のエラーがスローされます。

Incorrect syntax near '='.

間違いはどこにあるの?

+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' 
関連する問題