CREATE CURSOR Test (Group1 C(4), limitamount I, Option C(3)) INSERT INTO TEST VALUES([AAAAA], 1000,[YES]) INSERT INTO TEST VALUES([AAAAA], 2000,[NO]) INSERT INTO TEST VALUES([AAAAA], 3000,[NO]) INSERT INTO TEST VALUES([AAAAA], 4000,[NO]) INSERT INTO TEST VALUES([BBBBB], 5000,[NO]) INSERT INTO TEST VALUES([CCCCC], 6000,[NO]) INSERT INTO TEST VALUES([DDDDD], 7000,[YES]) INSERT INTO TEST VALUES([DDDDD], 8000,[NO]) INSERT INTO TEST VALUES([EEEEE], 9000,[NO]) INSERT INTO TEST VALUES([FFFFF], 2000,[NO]) SELECT Test.GROUP1,; IIF(Option = [YES] OR cTotal.Sums = 0, Limitamount,0000) AS Limitamount,; Option; FROM Test; INNER JOIN (SELECT Tst.Group1, SUM(IIF(Option == [YES],1,0)) AS Sums FROM Test Tst GROUP BY Tst.Group1) cTotal; ON Test.Group1 = cTotal.Group1