Mettre à jour en utilisant la fonction right dans l'instruction Where

J'essaye de mettre à jour une table d'une autre table en utilisant les 4 derniers numbers d'une colonne. Voici ce que j'ai qui échoue évidemment. Utiliser SQL 2012

UPDATE [DB].[dbo].[table1] SET column1 = (SELECT table2.column1 FROM table2 WHERE (dbo.table2.column2 = dbo.table1.column2) AND (dbo.table2.column3 = dbo.table1.column3) AND (dbo.table2.column4 = dbo.table1.column4) AND (dbo.table2.right(column5,4) = dbo.table1.right(column5,4)) 

La bonne façon d'effectuer une mise à jour avec JOIN dans SQL Server est:

 UPDATE t1 SET t1.column1 = t2.column1 FROM [DB].[dbo].[table1] t1 INNER JOIN dbo.table2 t2 ON t2.column2 = t1.column2 COLLATE SQL_Latin1_General_CP1_CI_AS AND t2.column3 = t1.column3 COLLATE SQL_Latin1_General_CP1_CI_AS AND t2.column4 = t1.column4 COLLATE SQL_Latin1_General_CP1_CI_AS AND right(t2.column5,4) = right(t1.column5,4) COLLATE SQL_Latin1_General_CP1_CI_AS;