2016-07-19 14 views
0

なぜt2でエラーが発生するのか不明です。私は単純なSQLクエリを実行しようとしています。 MS-SQLとのエラーメッセージに実行 はT2「の近くに不正な構文」を言うサブクエリ付きの左結合

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サーバー?オラクル? –

答えて

1

あなたの問題が欠落しているON句です。さらに、あなたはこのロジックにサブクエリを必要としません。一致しない行は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。 。 。クエリを必要以上に複雑にするべきではありません。サブクエリは不要です。 –

関連する問題