something like this:CREATE TRIGGER [trigger] ON tempdb.dbo.table1AFTER INSERT, UPDATEAS UPDATE t SET [Field1] = f2Lookup.[field2] FROM tempdb.dbo.table1 AS t JOIN INSERTED AS i ON i.[uuid] = t.[uuid] CROSS APPLY ( SELECT TOP 1 [Field2] FROM tempdb.dbo.Table2 As t2 WHERE t2.[uuid] = i.[id] ORDER BY [ranking2] DESC ) AS f2Lookup GO
Example:BEGIN TRANUSE [tempdb]CREATE TABLE table1 ([uuid] VARCHAR(50) PRIMARY KEY, [field1] INT, [id] VARCHAR(50), [VALUE] VARCHAR(50))CREATE TABLE table2 ([uuid] VARCHAR(50), [field2] INT, [ranking2] INT)INSERT table1([uuid], [field1], [id], [value]) VALUES ('a', 1, 'aaa', 'before')INSERT table2([uuid], [field2], [ranking2]) VALUES ('aaa', 2, 0), ('aaa', 3, 34)SELECT * FROM table1SELECT * FROM table2GOCREATE TRIGGER [trigger] ON tempdb.dbo.table1AFTER INSERT, UPDATEAS UPDATE t SET [Field1] = f2Lookup.[field2] FROM tempdb.dbo.table1 AS t JOIN INSERTED AS i ON i.[uuid] = t.[uuid] CROSS APPLY ( SELECT TOP 1 [Field2] FROM tempdb.dbo.Table2 As t2 WHERE t2.[uuid] = i.[id] ORDER BY [ranking2] DESC ) AS f2Lookup GO UPDATE table1 SET [VALUE] = 'after'SELECT * FROM table1ROLLBACKTransact CharlieMsg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.