DECLARE cursor1 CURSOR AS Select mwtrn.[Chart Number], mwtrn.[Case Number], mwtrn.[Entry Number], mwtrn.[Amount], Sum(mwpax.[Payment Amount]) totApplied FROM MWTRN, MWPAX where mwpax.[payment reference] = [entry number] and [Transaction Type] >= 'I' and [Transaction Type] <> 'P' Group by [Chart Number], [Case Number], [Entry Number], [Amount]; OPEN cursor1; CREATE TABLE #TEMP (ChartNumber Char(8), CaseNumber Integer, EntryNumber Integer, Unapplied Double); WHILE FETCH cursor1 DO If cursor1.totApplied <> cursor1.[Amount] THEN INSERT INTO #TEMP VALUES(cursor1.[Chart Number], cursor1.[Case Number], cursor1.[Entry Number], cursor1.[Amount] - cursor1.totApplied ); ENDIF; ENDWHILE; SELECT * FROM #TEMP; /alternative rounded total applied DECLARE cursor1 CURSOR AS Select mwtrn.[Chart Number], mwtrn.[Case Number], mwtrn.[Entry Number], mwtrn.[Amount], Round(Sum(mwpax.[Payment Amount]), 3) totApplied FROM MWTRN, MWPAX where mwpax.[payment reference] = [entry number] and [Transaction Type] >= 'I' and [Transaction Type] <> 'P' Group by [Chart Number], [Case Number], [Entry Number], [Amount]; OPEN cursor1; CREATE TABLE #TEMP (ChartNumber Char(8), CaseNumber Integer, EntryNumber Integer, Unapplied Double); WHILE FETCH cursor1 DO If cursor1.totApplied <> cursor1.[Amount] THEN INSERT INTO #TEMP VALUES(cursor1.[Chart Number], cursor1.[Case Number], cursor1.[Entry Number], cursor1.[Amount] - cursor1.totApplied ); ENDIF; ENDWHILE; SELECT * FROM #TEMP; /alternative DECLARE cursor1 CURSOR AS Select mwtrn.[Chart Number], mwtrn.[Case Number], mwtrn.[Entry Number], mwtrn.[Amount], Sum(mwpax.[Payment Amount]) totApplied FROM MWTRN, MWPAX where mwpax.[payment reference] = [entry number] and [Transaction Type] >= 'I' and [Transaction Type] <> 'P' Group by [Chart Number], [Case Number], [Entry Number], [Amount]; OPEN cursor1; CREATE TABLE #TEMP (ChartNumber Char(8), CaseNumber Integer, EntryNumber Integer, Unapplied Double); WHILE FETCH cursor1 DO If cursor1.totApplied <> cursor1.[Amount] THEN INSERT INTO #TEMP VALUES(cursor1.[Chart Number], cursor1.[Case Number], cursor1.[Entry Number], cursor1.[Amount] - cursor1.totApplied ); ENDIF; ENDWHILE; SELECT sum(unapplied) FROM #TEMP;