Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Suma de las 3 tablas

Estas en el tema de Suma de las 3 tablas en el foro de Mysql en Foros del Web. Buen dia amigos... Tengo una duda y espero que me brinden una ayuda. a lo mejor ya han abierto varios temas con la misma duda ...
  #1 (permalink)  
Antiguo 04/11/2013, 09:08
 
Fecha de Ingreso: diciembre-2008
Ubicación: Av. Republica Casa#106
Mensajes: 125
Antigüedad: 15 años, 3 meses
Puntos: 0
Suma de las 3 tablas

Buen dia amigos... Tengo una duda y espero que me brinden una ayuda. a lo mejor ya han abierto varios temas con la misma duda pero espero no incomodar con a lo que a lo mejor es una consulta sql sencilla pero a mi me ha tenido la vida un ocho...
Tenco 3 tablas donde la primary key es el campo denominado IDE y hay un segundo campo denominado CANTIDAD1. Eso se repite en las 3 tablas, como yo hago para sumar las cantidades de estes en al campo CANTIDAD1. Ejemplo. realmente espero sus ayudas.

TABLA 1
IDE ---------- CANTIDAD1
1 ------------ 5
2 ------------ 7
3 ------------ 10

TABLA 2
IDE ---------- CANTIDAD1
1 ------------ 1
2 ------------ 2
3 ------------ 3

TABLA 3
IDE ---------- CANTIDAD1
1 ------------ 15
2 ------------ 16
3 ------------ 17



SUMA DE LAS 3 TABLAS

IDE ---------- CANTIDAD1
1 ----------- 21
2 ----------- 25
3 ----------- 30
  #2 (permalink)  
Antiguo 04/11/2013, 09:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Suma de las 3 tablas

No nos aclaras si en las tres tablas están exactamente los mismos valores de IDE, todos y sin faltar ninguno.
No lo he probado, pero debería funcionar. Creo que también podemos hacerlo con INNER JOIN por el campo IDE y sumando campos con +, pero ahí va la propuesta con UNION ALL
Código MySQL:
Ver original
  1. SELECT t1.IDE, SUM(t1.CANTIDAD1 FROM (SELECT IDE, CANTIDAD1 FROM TABLA1
  2. SELECT IDE, CANTIDAD1 FROM TABLA2
  3. SELECT IDE, CANTIDAD1 FROM TABLA3)t1 GROUP BY t1.IDE
  #3 (permalink)  
Antiguo 04/11/2013, 09:26
 
Fecha de Ingreso: diciembre-2008
Ubicación: Av. Republica Casa#106
Mensajes: 125
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Suma de las 3 tablas

en el campo IDE no estan los mismos valores, en la TABLA1 actualmente tengo 126 registros, en la TABLA2 hay 221 registros y en la TABLA3 hay 74 registros, a parte del campo de CANTIDAD1 tambien esta el de YEAR que es el que almacena el año del registro.
  #4 (permalink)  
Antiguo 04/11/2013, 11:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Suma de las 3 tablas

¿La tabla con 221 registros contiene todos los ID de las tablas que tienen 126 y 74 o no?
¿Para qué necesitas el año, para filtrar por año?
  #5 (permalink)  
Antiguo 04/11/2013, 12:46
 
Fecha de Ingreso: diciembre-2008
Ubicación: Av. Republica Casa#106
Mensajes: 125
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Suma de las 3 tablas

no los tienen, cada tabla es independiente, para ser un poco mas especifico, de los 221 registros... 7 son del año 2013, de los 126 registros 7 son del 2013, y de los 74 registros son del 2013. yo quiero sumar todo los registros del año 2013.
  #6 (permalink)  
Antiguo 04/11/2013, 14:11
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Suma de las 3 tablas

Prueba esto:
Código MySQL:
Ver original
  1. SELECT t1.IDE, SUM( IFNULL( t1.CANTIDAD1, 0 ) ) suma
  2. (
  3.  
  4. SELECT IDE, CANTIDAD1
  5. FROM TABLA1
  6. WHERE YEAR = '2013'
  7. )
  8.  
  9. SELECT IDE, CANTIDAD1
  10. FROM TABLA2
  11. WHERE YEAR = '2013'
  12. )
  13.  
  14. SELECT IDE, CANTIDAD1
  15. FROM TABLA3
  16. WHERE YEAR = '2013'
  17. )
  18. )t1
  19. GROUP BY t1.IDE

en realidad no sé si necesitas ese IFNULL, pues imagino que si hay un dato, habrá una cantidad. Si siempre hay cantidades,quita ese IFNULL

Una cosa más: no es conveniente usar como nombre de campo YEAR, pues existe un tipo de campo YEAR y una función YEAR. En realidad, no es una palabra reservada, pero para evitar confusiones yo lo evitaría.

Última edición por jurena; 04/11/2013 a las 15:41
  #7 (permalink)  
Antiguo 11/11/2013, 13:41
 
Fecha de Ingreso: diciembre-2008
Ubicación: Av. Republica Casa#106
Mensajes: 125
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Suma de las 3 tablas

Realmente muchas gracia JURENA.

Etiquetas: campo, sql, suma, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:52.