Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/01/2013, 06:13
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta clientes con compras todos los meses

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
  1.     clacli,
  2.     nombre,
  3.     nompas
  4. FROM clientes c INNER JOIN codpais co ON c.clapai=co.clapai
  5. WHERE clatip=2
  6. AND clacli IN(
  7.             SELECT clacli
  8.             FROM factura
  9.             WHERE MONTH(fecha) IN  (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) AND YEAR(fecha)=2012
  10.             GROUP BY clacli
  11.             HAVING COUNT(DISTINCT MONTH(fecha))) = 12            
  12. 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 original
  1. SELECT
  2.     clacli,
  3.     nombre,
  4.     nompas
  5. FROM
  6.     clientes c
  7.     INNER JOIN codpais co ON c.clapai=co.clapai
  8.     INNER JOIN (SELECT clacli, COUNT(DISTINCT fecha) fechas
  9.                 FROM factura
  10.                 WHERE MONTH(fecha) IN  (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) AND YEAR(fecha)=2012
  11.                 GROUP BY clacli) t1
  12. WHERE
  13.     clatip=2
  14.     AND t1.fechas = 12
  15.     AND co.clapai IN (10, 23);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)