You could do as pk_bohra suggested and use a case expression. That would probably be more accurate, if you need to force the order. Another option might be to do something like:DECLARE @Table1 TABLE (ID INT, Col1 VARCHAR(30), Col2 VARCHAR(30))INSERT @Table1 (ID, Col1) VALUES(1, '3AC15A0F47'),(2, '6C19B7D87C'),(3, 'B839138E37'),(4, '6E76C3CF56'),(5, 'FDE25B9037'),(6, '86677BE40B'),(7, '5F82D1EF33'),(8, '1266443821'),(9, '5195944156'),(10, '869A513284')DECLARE @Table2 TABLE (Col2 VARCHAR(30))INSERT @Table2 (Col2) VALUES('Ken Sánchez'),('Terri Duffy'),('Roberto Tamburello')UPDATE T1SET Col2 = D.Col2FROM @Table1 AS T1INNER JOIN ( SELECT Col2, ROW_NUMBER() OVER(ORDER BY Col2) AS RowNum FROM @Table2 AS Table2 ) AS D ON T1.ID % 3 = D.RowNum - 1