MySQL - Consulta con autocombinaciones

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 9 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Consulta con autocombinaciones

Publicado por GERMANCHO (2 intervenciones) el 25/08/2018 04:56:05
Hola a todos buenas noches.
Estoy generando algunos reportes de una base de datos con MySql y tengo dificultades con uno de los reportes en el que estoy aplicando una autocombinación de una subconsulta...y no he podido obtener el resultado que espero.

Para ser mas explícito envío las siguientes imágenes.

1.Esto es lo que requiero:


Imagen2


2. Y esto es lo que he obtenido hasta el momento:

Imagen1

Con este código:

select c.ApuCap, c.ApuInsNom, (c.ApuInsCan/c.ApuInsRen)*(1 + c.ApuInsDpd/100) as ApuInsCan

from (select u.ApuCon, u.ApuCod, u.ApuFec, u.ApuNom, u.ApuUni, u.ApuCap, u.ApuAct, u.ApuInsCon, u.ApuInsNom, u.ApuInsUni, u.ApuInsCan, u.ApuInsRen, u.ApuInsDpd, u.ApuInsVun, u.ApuInsTot from apu u INNER JOIN actividad a ON u.ApuAct = a.ActCon INNER JOIN presupuesto p ON a.ActCon = p.PreActCon) as c

INNER JOIN

(select u.ApuCon, u.ApuCod, u.ApuFec, u.ApuNom, u.ApuUni, u.ApuCap, u.ApuAct, u.ApuInsCon, u.ApuInsNom, u.ApuInsUni, u.ApuInsCan, u.ApuInsRen, u.ApuInsDpd, u.ApuInsVun, u.ApuInsTot from apu u INNER JOIN actividad a ON u.ApuAct = a.ActCon INNER JOIN presupuesto p ON a.ActCon = p.PreActCon) as d

ON c.ApuCap=d.ApuCap and c.ApuAct=d.ApuAct and c.ApuInsCon=d.ApuInsCon

order by c.ApuCap, c.ApuInsNom;


En resumen, lo que se requiere es agrupar los insumos que tienen igual Ins dentro de un mismo Cap y totalizar Cant. y Vr.Parcial.

Agradezco su colaboración.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 21
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Consulta con autocombinaciones

Publicado por Fabricio (7 intervenciones) el 29/09/2018 12:27:22
Buenas: Si quieres totalizar esos valores donde los campos ins y cap coinciden, usa group by con ambos campos.

select u.ApuCon, u.ApuCod, u.ApuFec, u.ApuNom, u.ApuUni, u.ApuCap, u.ApuAct, u.ApuInsCon, u.ApuInsNom, u.ApuInsUni, sum((apu.ApuInsCan/apu.ApuInsRen)*(1 + apu.ApuInsDpd/100)) as Cant, u.ApuInsRen, u.ApuInsDpd, u.ApuInsVun, sum(apu.ApuInsTot) as vr_parcial from apu u
group by apu.ApuCap, apu.ApuInsCon

(Verifica esto. No se si te he entendido bien)
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha disminuido su posición en 9 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Consulta con autocombinaciones

Publicado por GERMAN MONTENEGRO (2 intervenciones) el 12/10/2018 03:06:46
Fabricio, buenas noches.
Gracias por tu respuesta....me sirvió de mucho el uso de group by...y ya obtuve el resultado que quería.
Seguiremos en contacto.
Gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar