Estou usando o ADS, ponte para migrar para um SGDB, o que eu faço no oracle algo como, agora com DBF, to gostando:
cQuery := "SELECT APC.CODIGO, APC.NOME, APC.TELEFONE, APC.CLASSE_PG, APC.D_ADMISS, APC.UTI, RES.TOTAL, RES.GUIAS AS GUIAS "
cQuery += "FROM "
cQuery += " APC01 APC "
cQuery += " INNER JOIN "
cQuery += " ( "
cQuery += " SELECT "
cQuery += " APA.CODIGO, Sum(APA.VL_GUIA) AS TOTAL, COUNT(APA.CODIGO) AS GUIAS "
cQuery += " FROM "
cQuery += " APA01 APA "
cQuery += " WHERE "
cQuery += " APA.D_VENC < ? AND "
cQuery += " APA.D_PGTO IS NULL AND "
cQuery += " APA.D_VENC IS NOT NULL "
cQuery += " GROUP BY "
cQuery += " APA.CODIGO "
cQuery += " ) RES ON RES.CODIGO = APC.CODIGO "
cQuery += "WHERE "
cQuery += "SUBSTRING(APC.CLASSE_PG,1,2) IN (?,?,?,?,?) AND "
cQuery += "APC.D_DESLIG IS NULL AND "
cQuery += "APC.D_FALECI IS NULL AND "
cQuery += "GUIAS >= ? "
cQuery += "ORDER BY APC.CODIGO"