Tabla comparativa

Hola. Tengo una tabla comparativa de códigos de 2 entidades, pero que se corresponden en un campo, esta tabla está relacionada con otras de datos numéricos. Ejemplo:
Cod1 Ayunt Cod2 Ayunt
02001 Abarca 02001 Abarca
02003 Albacete 02003 Albacete
02003 Albacete 02900 Albacete
02003 Albacete 02902 Albacete
02004 Arriero 02004 Arriero
El problema es que al hacer consultas, quisiera que para el código1 02003 me sumara los 3 cód2, y que solamente me mostrara un cod1 02003.
He probado con consultas de selección, referencias cruzadas y de unión, pero no hay manera, siempre me muestra para cod1 los tres 02003 aunque no tengan datos numéricos en otras tablas.
Gracias de antemano.

1 Respuesta

Respuesta
1
¿A qué te refieres cuando dices "me sumara"?
Pon un ejemplo de cual quieres que sea el resultado de tu consulta para los datos de arriba
Hola. El resultado de la consulta me tendría que dar un solo cod1:
02001 abarca 02001 abarca
02003 Albacete 02003 + 02900 + 02901 Albacete 250.000
Y no como me lo hace hasta ahora que me muestra:
02003 Albacete 02003 Albacete 50.000
02003 Albacete 02900 Albacete 0
02003 Albacete 02901 Albacete 200.000
He probado también con la opción de propiedades "registro único"q me sale en la ayuda y nada.
Espero haberme explicado.
Muchas Gracias por contestar
Lo que tienes que poner en tu SQL es agrupamientos. Como supongo que si me pongo a explicarte iba a ser un poco lioso, mejor no lo intento.
Si me pones toda la definición de tu tabla, te pongo la SQL exacta que necesitas. Con la solución en la mano, seguro que lo ves mucho mejor que con 100 explicaciones.
Con la definición me refiero a :
Nombres de todas las tablas implicadas.
Nombres de todos los campos de cada tabla implicada.
Campos clave de cada tabla
Y aunque no es necesario, me ayudaría que me dijeras a que campos se refieren los datos de los ejemplos que me has puesto.
Antes de nada decirte que he probado también con GROUP BY.
Son cinco tablas:
CORRESPONDENCIA: CL_Ine(PK),NomAyu,CL_AEAT,NomAyu.
IAE: Cl_AEAT(PK),NomAyu, CL_Ine (FK), + diez campos de números
ISOCIEDADES:Cl_AEAT(PK),NomAyu, CL_Ine (FK), + diez campos de números
Provincias:
CCAA
En todas ellas están relacionadas con el campo PORQUE de la tabla correspondencia que corresponde a la Clave INE de ayuntamiento.
El problema surge cuando en las tablas IAE y ISOCIEDADES me mandan un mismo ayuntamiento en distintos registros y con distintos códigos.(En algunos de ellos las cantidades están en blanco).
Lo que hice entonces fue crear la tabla de correspondencia de mis códigos INE con los distintos códigos de IAE y ISOCIEDADES. Para al final mostrar solamente mi código INE único y sumar todas las cantidades de las otras dos tablas para un mismo Ayuntamiento.
El problema es que para Albacete, por ejemplo, hay 3 códigos distintos en IAE e ISOCIEDADES, y tuve que duplicar mi código INE, y si solo fuera ese pues bueno, pero es que hay 36.000 registros.
Espero haberme explicado, y sobre todo muchísimas gracias por tomarte la molestia de contestar.
Antes de nada, hay algunas cosas que me resultan incomprensibles. Por ejemplo:
Si has tenido que duplicar el código INE, ¿cómo puede ser clave de la tabla CORRESPONDENCIA un campo con valores duplicados?
Supongo que donde lo has duplicado es en las otras dos tablas. Pero entonces CORRESPONDENCIA no hace lo que parece que debería hacer por el nombre, es decir, ser una tabla auxiliar para un correspondencia M:N entre las otras dos tablas, en cuyo caso la clave de CORRESPONDENCIA debería ser la cambinacion de los campos CL_Ine y CLAEAT. O sea, que en esa tabla, debería haber 3 registros para Albacete en tu ejemplo, y no uno solo como hay ahora.
Repites dos veces el campo NomAyu en la tabla CORRESPONDENCIA. Eso no esta permitido en ninguna base de datos que yo conozca. No se que has querido poner con eso. Por un momento he pensado que esta tabla fuera una consulta en realidad, pero dices claramente que es una tabla.
Lo que necesitas NO es difícil, estoy seguro de que es mucho más costoso enunciar completamente el problema que resolverlo.
No se exactamente a que campos corresponde cada valor de los ejemploq ue has puesto. Esto me hubiera ayudado mucho, pero de todos modos prueba esto, y si no te funciona, escribe otra vez.
Un saludo.
SELECT [Correspondencia].CL_Ine, [Correspondencia].NomAyu, [Correspondencia].CL_AEAT, Sum([IAE].campo_numero) AS SumaDecampo_numero, Sum([ISOCIEDADES].campo_numero) AS SumaDecampo_numero1
FROM ISOCIEDADES INNER JOIN (IAE INNER JOIN 0Correspondencia ON [IAE].CL_Ine = [Correspondencia].CL_Ine) ON [ISOCIEDADES].CL_Ine = [Correspondencia].CL_Ine
GROUP BY [Correspondencia].CL_Ine, [Correspondencia].NomAyu, [Correspondencia].CL_AEAT

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas