SELECT X.un+1, MIN(Y.un)-1 FROM X,X Y ON X.un < Y.un GROUP BY X.un INTO CURSOR GapsWalter,
SELECT t1.un+1 AS uns, > (SELECT MIN(t3.un-1) FROM testun t3 WHERE t3.un-1 >= t1.un+1) AS une > FROM testun t1 > WHERE NOT EXISTS (SELECT * FROM testun t2 WHERE t2.un = (t1.un+1))>Here's solution for VFP
SELECT t1.un+1 AS unp, t1.un-1 AS unm, t1.un ; > FROM testun t1 ; > ORDER BY t1.un ; > INTO CURSOR crs1 > >SELECT t1.unp AS uns, t1.un, RECNO() AS rn ; > FROM crs1 t1 ; > WHERE NOT EXISTS (SELECT * FROM crs1 t2 WHERE t2.un = t1.unp) ; > INTO CURSOR crs2 > >SELECT t1.unm AS une, t1.un, RECNO()-1 AS rn ; > FROM crs1 t1 ; > WHERE NOT EXISTS (SELECT * FROM crs1 t2 WHERE t2.un = t1.unm) ; > INTO CURSOR crs3 > >SELECT t2.uns, t3.une ; > FROM crs2 t2 ; > JOIN crs3 t3 ON t2.rn = t3.rn ; > INTO CURSOR crsResult >>