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

sumatoria entre dos tablas y distinto registro dentro de ellas

Estas en el tema de sumatoria entre dos tablas y distinto registro dentro de ellas en el foro de Mysql en Foros del Web. que tal amigos del foro, bueno soy medio novato en mysql y re novato en este foro, pues aqui solicitando ayuda, les expongo mi caso... ...
  #1 (permalink)  
Antiguo 12/01/2010, 11:04
 
Fecha de Ingreso: enero-2010
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 0
sumatoria entre dos tablas y distinto registro dentro de ellas

que tal amigos del foro, bueno soy medio novato en mysql y re novato en este foro, pues aqui solicitando ayuda, les expongo mi caso...

bueno tengo una tabla de notas, una detalle_procedimental y otra detalle_actitudinal bueno la cuestion es que necesito hacer la sumatoria de una nota en la parte del detalle_procedimental y del detalle_actitudinal PERO sucede que???

en procedimantal la nota 20 tiene 6 registro
y en actitudinal la nota 20 tiene 2 registros

bueno cuando hago la sumatoria como se hacerla pues la parte de procedimental me la suma bien, pero la parte de actitudinal no..... debeido a que se mezclan los registros del procedimental con el del actitudinal???

bueno luego quise hacer dos consultas por separado y unirlas, bueno si me tira las sumas correctas pero quisiera que la sumatoria de actitudinal la tirara en otro campo, espero que me de a entender igual dejo la ultima consulta que realice para ver si me pueden dar una manita


select n.nota, sum(d.notap) as PROCEDIMENTAL from notas n, detaproc d where n.nota=d.nota group by n.nota
union
select null, sum(d.notac)as ACTITUDINAL from notas n, detaacti d where n.nota=d.nota group by n.nota
  #2 (permalink)  
Antiguo 12/01/2010, 12:22
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: sumatoria entre dos tablas y distinto registro dentro de ellas

prueba esto:

Código SQL:
Ver original
  1. SELECT n.nota, SUM(d1.notap) AS PROCEDIMENTAL, SUM(d2.notac)AS ACTITUDINAL
  2. FROM notas n
  3. INNER JOIN detaproc d1
  4. ON n.nota=d1.nota
  5. INNER JOIN detaacti d2
  6. ON n.nota=d2.nota
  7. GROUP BY n.nota;

Nos cuentas como te va
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 12/01/2010, 12:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: sumatoria entre dos tablas y distinto registro dentro de ellas

edito y borro: me quedo con la propuesta de huesos52, siempre que las mismas notas que estén en la tabla procedimental estén en la actitudinal. Si no habría que buscar una solución con union all.

Última edición por jurena; 12/01/2010 a las 12:33
  #4 (permalink)  
Antiguo 12/01/2010, 12:29
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: sumatoria entre dos tablas y distinto registro dentro de ellas

Con la de jurena vas a la fija.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/01/2010, 14:46
 
Fecha de Ingreso: enero-2010
Mensajes: 16
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: sumatoria entre dos tablas y distinto registro dentro de ellas

concuerdo con la ultima respuesta, y pues la de huesos funciona cuando existe la misma cantidad de registro, pero he encontrado otra solucion vagaando por varios foros de nuestra mina de oro INTERNET y la posteo aqui pues no soy la unica persona con dudas

SELECT n.nota,
(SELECT SUM(d.notap)
FROM detaproc d
WHERE d.nota=n.nota
GROUP BY d.Nota) AS PROCEDIMENTAL,
(SELECT SUM(d.notac)
FROM detaacti d
WHERE d.nota=n.nota
GROUP BY d.nota) AS ACTITUDINAL
FROM Notas
WHERE n.nota=20

este codigo me funciono a las mil maravillas espero haber aportado algo bueno y gracias a todos por brindarme la ayuda, y tomarse el tiempo, de nuevo gracias amigos de este foro

Etiquetas: distinto, dos, registro, sumatoria, 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 17:17.