Contar un campo similar en varias tablas y sumar total

Mi problema es que estoy haciendo una base de datos WEB para recopilar datos diversos sobre clientes, mi problemas es que tengo tres tablas, CLIENTE, PAREJA, HIJOS, y en todas tengo el campo ORIGEN, también tengo una tabla PAÍS que la relacione con todas las tablas anteriores en ese campo para que busque el ORIGEN desde ahí.
Ahora necesito hacer un Informe que me muestre primero una tabla que enliste los países y cuantos clientes, pareja e hijos hay en cada país y que al final me sume un total por país y el total de personas. Pero que no tome en cuenta los valores cero ni los valores de Canadá. Y en el mismo informe debajo de la tabla que se muestre un gráfico redondo de los totales de cuantas personas ahí por país, sin tomar en cuenta las personas de Canadá.
Lo he intentado hacer con una consulta, entonces uso las tablas País y Cliente, pongo el campo País y el campo Origen con el total contar y funciona me salen solo los países que tienen clientes y cuantos clientes hay por país. Lo mismo con las otras tablas por separado, pero al intentar combinar los valores no me deja, y bueno sin la consulta ya no se como hacer el informe.
Ahora no se si el problema es que es una Base de datos WEB, porque al final lo que necesito es que la bese de datos se pueda utilizar en tiempo real en tres ciudades diferentes, por eso empecé a hacer una base de datos WEB,
Espero haer sido lo suficiente claro en mi problema, puesto que me tiene bloqueado, ademas que debo hacer exactamente el mismo informe pero combinando otro Campo como nivel de estudios, EDAD, OCUPACIÓN, etc.
Saludos y desde ya muchísimas gracias por el tiempo que dediques a esta pregunta

1 Respuesta

Respuesta
1
Ya les he comentado antes que no se aferren a hacer todo en una sola consulta, por lo regular es necesarios hacer varias consultas e incluso trabajar con tablas temporales para ir almacendo el resultado de las consultas que segín creo es lo que tienes que hacer, en cuanto a gráficos desconozco el tema. Prueba de esta forma a ver si obtienes lo que necesitas.
Intente hacer tres consultas de contar relacionando la tabla País y cada tabla de CLIENTE, PAREJA E HIJOS, y cada una funciona muy bien use el campo país de PAÍS y el campo Origen de CLIENTE, es este puse en total contar y me sale lo que quiero los países y cuantos clientes hay por país, pero no tengo idea de como hacer para combinar los resultados, logro hacer que aparezcan todos los países y el valor de CLIENTES, PAREJA e HIJOS, y no logro por nada sumar estos valores para tener el total por país. Pero ademas en la consulta me salen todos los países que tengan o no tenga valores lo que la vuelve impractica y llena de un montón de ceros.
Así está difícil atinarle así, pega el código de tu consulta aquí o enviala a mi correo pero te aclaro que tal ves te tarde ya que estoy saturado de trabajo.
Tengo una tabla que enlista todos los países del mundo, esta tabla la use para hacer la búsqueda del campo Origen en otras tres tablas, CLIENTE, PAREJA, HIJOS, que se relacionan entre si
Ahora quisiera hacer u informe en el que me de como resultado una tabla que en la primera columna se enlisten los países del mundo, después la columna que cuente CLIENTES, otra para PAREJA y una tercera que cuente HIJOS, según país, de ahí otra columna que me sume las tres cantidades y me de el resultado por países.
Ahora quisiera que este informe tome en cuenta solo los países donde hay clientes o pareja o hijos, y que ademas descarte los valores de Canadá, soy todavía muy nuevo en access así que mejor y te muestro las tablas que tengo y la tabla final que deseo para el informe

He intentado hacer tres consultas diferentes, combinando la tabla países con cada una de las otras tres tablas, y funciona en cada consulta me aparecen los países y me cuenta los clientes, pareja o hijos según sea el caso, pero al querer unir los resultados en una sola tabla, no me sale.
Ya lo logre!
Seguí tu concejo de no centrarme en hacer todo en una sola consulta y funciono.
Hice tres consultas cliente_pais, con tomando el campo País de país y Origen de cliente ahí solo aplique contar, misma historia con Pareja y con Hijos.
Después hice una consulta, Pais_total con el sigeuinte código.
SELECT pais.Pais AS Paises, [cliente-pais].CuentaDeOrigine AS Cliente, [pareja-pais].CuentaDeOrigine_p AS Pareja, [hijos=pais].CuentaDeOrigine_h AS hijos, [CuentaDeOrigine]+[CuentaDeOrigine_p]+[CuentaDeOrigine_h] AS Total
FROM ((pays LEFT JOIN [cliente-pais] ON pais.Pais = [cliente-pais].Pais) LEFT JOIN [pareja-pais] ON pais.Pais = [pareja-pais].Pais) LEFT JOIN [hijos-pais] ON pais.Pais = [hijos-pais].Pais
WHERE ((([CuentaDeOrigine]+[CuentaDeOrigine_p]+[CuentaDeOrigine_h])>0) AND ((pais.Pais)<>"Canada"))
GROUP BY pays.Pays, [cliente-pais].CuentaDeOrigine, [Pareja-pais].CuentaDeOrigine_p, [Hijos-pais].CuentaDeOrigine_h, [CuentaDeOrigine]+[CuentaDeOrigine_p]+[CuentaDeOrigine_h]
ORDER BY pays.Pays;
Y listo me aparece solo lo que quería, se calcula el total y no toma en cuenta Canadá, pero ahora me surgió un nuevo problema, deseo poder filtrar los datos por un rango de fechas.
Primero tenia la en la tabla Cliente el campo "Fecha_reg" lo agregue a la consulta Cliente-país y de ahí le aplique el "entre fecha Y fecha2" y me aparecieron solo los países donde Cliente tiene datos, y los datos de Pareja y Hijos en estos países, pero no en los otros ademas que se repetían valores como 2 veces mexico con valores diferentes, así que se me ocurrió crear un campo que copia ese dato en las tablas PAREJA como fecha_p y en HIJOS como fecha_h
Y de ahí agregue este campo a cada una de las tres, y en la consulta Pais_total agregue este código
HAVING ((([Cliente-pais].[Fecha_Reg]) OR ([Pareja-pais].[Fecha_p]) OR ([Hijos-pais].[Fecha_h])) Between [De que fecha] And [A que fecha])
Y ahora no de resultado sale la tabla en blanco, ¿tienes alguna idea de como debería hacer esto?
Muchas gracias por tu tiempo
entra a mi sitio http://sites.google.com/site/jerrmex/descargas y busca la opción
35) Contabiliza familias de clientes por país
Te hice este ejemplo así de rapidito, checalo y me avisas
Muchísimas gracias por tu respuesta es justo lo que necesitaba, pero el proceso tiene un error que no se como reparar y es que funciona si Clientes tiene valor, pero si en un país Clientes es 0, no aparecen los valores de Pareja E Hijos,
Digamos en el ejemplo que me enviaste cambie en los registros de la tabla Cliente el origen ARGENTINA por CANADÁ, y corrí el formulario y zas no aparecen los hijos y pareja que tienen origen de ARGENTINA.
¿Qué debería cambiar para que esto se solucione,?
Ya me salio! Hice un par de pasos más y funciono de maravilla, muchísimas gracias por la ayuda, y principalmente por dedicar tiempo a solucionar este problema la solución dada fue mucho mejor de lo que esperaba.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas