El problema es la restricción que pone el ODBC, que no entenderá consultas más elaboradas, y ni hablar del dBASE, que es un manejador de tablas bastante rudimentario.
Si fuese, por ejemplo, MySQL, podría ser así:
Código MySQL:
Ver original clacli,
nombre,
nompas
WHERE MONTH(fecha
) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) AND YEAR(fecha
)=2012 AND co.clapai
IN (10, 23);
Pero en tu caso, es posible que haya que hacer algo más complicado.
Veamos si soporta esto:
Código SQL:
Ver originalSELECT
clacli,
nombre,
nompas
FROM
clientes c
INNER JOIN codpais co ON c.clapai=co.clapai
INNER JOIN (SELECT clacli, COUNT(DISTINCT fecha) fechas
FROM factura
WHERE MONTH(fecha) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) AND YEAR(fecha)=2012
GROUP BY clacli) t1
WHERE
clatip=2
AND t1.fechas = 12
AND co.clapai IN (10, 23);