Declare @Parameter1 int; Declare @Parameter2 int; DECLARE Cur1 CURSOR FOR SELECT Column1 From Table1; OPEN Cur1 FETCH NEXT FROM Cur1 INTO @Parameter1; WHILE @@FETCH_STATUS = 0 BEGIN PRINT 'Processing Column1: ' + Cast(@Parameter1 as Varchar); DECLARE Cur2 CURSOR FOR SELECT Column2 FROM Table2 Where Column2 = @Parameter1; OPEN Cur2; FETCH NEXT FROM Cur2 INTO @Parameter2; WHILE @@FETCH_STATUS = 0 BEGIN PRINT 'Found Column2: ' + Cast(@Parameter2 as Varchar); FETCH NEXT FROM Cur2 INTO @Parameter2; END; CLOSE Cur2; DEALLOCATE Cur2; FETCH NEXT FROM Cur1 INTO @Parameter1; END; PRINT 'DONE'; CLOSE Cur1; DEALLOCATE Cur1;