>Create Procedure DontUseCursors >As >DECLARE @MasterRef varchar(10) >DECLARE @MasterRefMax varchar(10) >DECLARE @ClaimRef varchar(10) > > >Declare @i int > >SELECT @MasterRef = c.MasterRef, > @MasterRefMax = Tbl1.MaxRef, > @ClaimRef = c.ClaimRef > FROM claim c > INNER JOIN (SELECT MIN(ClaimRef) AS ClaimRef, MAX(ClaimRef) AS MaxRef FROM Claim) Tbl1 >ON c.ClaimRef = Tbl1.ClaimRef > >WHILE @MasterRef IS NOT NULL AND @MasterRef <= @MasterRefMax > BEGIN > print @ClaimRef > SELECT @MasterRef = c.MasterRef, > @ClaimRef = c.ClaimRef > FROM claim c > INNER JOIN (SELECT MIN(ClaimRef) As ClaimRef FROM claim > Where ClaimRef > @ClaimRef) Tbl1 > ON p.ClaimRef = Tbl1.ClaimRef > END >>again not tested :-)