DECLARE @sql VARCHAR(max) DECLARE @pcode NVARCHAR(50) DECLARE @code NVARCHAR(50) DECLARE @type INT=-1 DECLARE @tmptype INT=-1 SET @sql='' DECLARE myCursor CURSOR FOR SELECT pcode,code,type FROM test ORDER BY type OPEN myCursor FETCH NEXT FROM myCursor INTO @pcode,@code,@type WHILE @@FETCH_STATUS=0 BEGIN BEGIN IF @type!=@tmptype BEGIN SET @sql=@sql+';' SET @tmptype=@type END SET @sql=@sql+'UPDATE tbProduction set vManagerCode='''+@code+''' where vProductionCode='''+@pcode+''';' END FETCH NEXT FROM myCursor INTO @pcode,@code,@type END CLOSE myCursor DEALLOCATE myCursor PRINT @sql