Ver Mensaje Individual
  #1  
Antiguo 15-07-2020
Avatar de Carmelo Cash
Carmelo Cash Carmelo Cash is offline
Miembro
 
Registrado: jul 2003
Ubicación: Buenos Aires
Posts: 261
Reputación: 21
Carmelo Cash Va por buen camino
Cool Duplica al agrupar

Hola Foro:

Necesito agrupar dos tablas por mes, una tiene el total de la factura y otra el detalle.

El resultado que se necesita obtener, es la suma de los ID_conceptos ( 101 + 102 ) agrupados por mes.(*)

MES, Total, Cantidad
5 ,1911.20, 140 (10+25+20+50+10+25)

Más abajo encontrarán los create e incert si quieren cargar las tablas para probar.

Estoy usando Firebird 2.5

Desde ya gracias por su atención.

Las tablas son estas:

tabla VentasABC
ID_Venta MES , Total
1 , 5 , 456.10
2 , 5 , 999.00
3 , 5 , 456.00

Tabla DetalleABC
ID_Venta, ID_Concepto, Cantidad
1 , 101 , 10 *
1 , 102 , 25 *
1 , 103 , 30
2 , 101 , 20 *
2 , 102 , 50 *
2 , 103 , 90
3 , 101 , 10 *
3 , 102 , 25 *
3 , 103 , 30

Estoy haciendo esto....

Código SQL [-]
Select v.Mes, sum(v.Total) as Total, sum(d.cantidad) as Cantidad
from VentasABC v
join DetalleABC d on d.ID_Venta=v.ID_Venta
Where d.ID_Concepto in (101,102)
group by v.mes

... Pero me duplica el campo v.Total


Acá estan los create y los insert.

Código SQL [-]
Create table VentasABC (
ID_Venta Integer,
MES Integer,
Total Numeric (15,2) );

Insert into VentasABC Values (1, 5, 456.10);
Insert into VentasABC Values (2, 5, 999.00);
Insert into VentasABC Values (3, 5, 456.10);

Create table DetalleABC (
ID_Venta Integer,
ID_Concepto Integer,
Cantidad Numeric (15,2));

Insert into DetalleABC values (1 , 101,10);
Insert into DetalleABC values (1 , 102,25);
Insert into DetalleABC values (1 , 103,30);
Insert into DetalleABC values (2 , 101,20);
Insert into DetalleABC values (2 , 102,50);
Insert into DetalleABC values (2 , 103,90);
Insert into DetalleABC values (3 , 101,10);
Insert into DetalleABC values (3 , 102,25);
Insert into DetalleABC values (3 , 103,30);
Nota: Sumar distintos ID_Conceptos puede parecer raro (sumar papas + cebollas) pero en este caso son distintos ID_Conceptos que responden a un mismo tipo de articulo.
Responder Con Cita