Consulta compleja en access

Soy usuario de una base de datos access y me manejo con consultas sencillas. El problema es que me piden unos resultados que no se como obtener:
-Todos los clientes tienen un identificador único (campo id) y cada vez que hacen un pedido, se anota la fecha (campo fecha) y se crea una nueva entrada en la agenda, de modo que hay muchos registros con el mismo identificador de cliente y diferentes fechas. Necesitaría saber como agrupar la respuesta de la siguiente forma:
-Cuantos de los que han comprado este año, han comprado hace dos años, y tres años, etc.
Por favor, una ayudita.
No se, a lo mejor se necesita solucionarlo en sql...(algo así como: Si más de dos años entre una fecha y otra de registros del mismo cliente (id), agrupalos en una tabla nueva, o algo así...) ¿O quizás con tablas de referencias cruzadas?
Please, una ayudita, si es necesario sql, recomiéndame un buen libro, he estado leyendo varios (el de Mac Donald el mejor), pero no me solucionan.

1 Respuesta

Respuesta
1
Si lo que quieres es obtener el año del campo fecha tendrás que utilizar la función Año()
Creas una consulta nueva, bajas el campo Id y en otra columna pones:
Año:Año([Campo Fecha])
Bajas otra vez el campo Id y picas en el botón Totales. Te saldrá una nueva fila en diseño que se llama total, por defecto te pone Agrupar por, en la columna Id que has bajado la última despliegas en la linea total y pones Cuenta. De esta forma te agrupará por Id, Año y contará los registros para ese Id en ese año.
Me cuentas.
Hola, muchas gracias por responder.
Me temo que me he expresado mal. No necesito saber cuantos clientes compraron ese año o cuantas veces compraron en un año. Son unos clientes que por las características del producto compran cada dos años o cada 4, etc. Lo que necesito saber es cuántos han comprado esos dos años antes y cuántos se saltaron la comprar ( es decir compraron hace 6 años u 8 ). Se podría mirar manualmente, pero hay más de 20000 clientes, muchosde ellos con 3 y 4 compras, es decir, más de 80000 registros.
La respuesta que necesito es: pej: 5000 han comprado cada dos años todas las veces ( desde que se inició la empresa). 3000 han comprado este año, no hace dos y sí hace 4. 6000 compraron ahora y hace dos pero no antes, etc.
Espero haberlo aclarado mejor
Gracias
Lo que pides, por consulta no se puede hacer, tendría que ser mediante código, yo crearía una tabla con los campos IdCliente, Año es decir un registro para cada Cliente-Año, por consulta, agrupando por el campo año podrías sacar porcentajes, por código sería ir recorriendo la tabla y sacar el total de los clientes que están todos los años, después los que están año si año no, los que están año si 2 años no... Creo que tendría que ir por ahí el asunto.
Me cuentas.
Gracias.
Intentaré hacer lo siguiente:
Crearé dos o más tablas, cada una con los id y fecha del 2010, 2008, 2006, etc. Las pasaré a excel y buscaré las coincidencias en el ID. No estoy seguro, pero creo que me puede servir.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas