Select ; 0 As Vals, ; Sum(IIF(Fld1=0, 1, 0)) As Cnt1, ; Sum(IIF(Fld2=0, 1, 0)) As Cnt2, ; .... Sum(IIF(Fld30=0, 1, 0)) As Cnt30, ; From Mytable ; Union ; Select ; 1 As Vals, ; Sum(IIF(Fld1=1, 1, 0)) As Cnt1, ; Sum(IIF(Fld2=1, 1, 0)) As Cnt2, ; .... Sum(IIF(Fld30=1, 1, 0)) As Cnt30, ; From Mytable ; ... Union ; Select ; 5 As Vals, ; Sum(IIF(Fld1=5, 1, 0)) As Cnt1, ; Sum(IIF(Fld2=5, 1, 0)) As Cnt2, ; .... Sum(IIF(Fld30=5, 1, 0)) As Cnt30, ; From Mytable ; Order By 1 ; Into Cursor Mycursor
FOR liVals=0 To 5 lcCursor = "Mycursor" + Transfom(liVals) Select ; liVals As Vals, ; Sum(IIF(Fld1=liVals, 1, 0)) As Cnt1, ; Sum(IIF(Fld2=liVals, 1, 0)) As Cnt2, ; .... Sum(IIF(Fld30=liVals, 1, 0)) As Cnt30, ; From Mytable ; Into Cursor (lcCursor) ENDFORand tnan combine 6 cursors Mycursor0-Mycursor5 into one cursor Mycursor