Ayuda ! SELECT totales

17/11/2007 - 18:19 por Diego Romero | Informe spam
Hola
Como estan ?

Necesito hacer una consulta agrupada, a ver si se puede:
LAS TABLAS:

1. Facturas:
NumFactura (Clave primaria)
Cliente
ValorACargo

2. Recibos:
NumRecibo (clave primaria)
NumFactura (numero de factura que se abona)
ValorAbonado

Los resultados que se quieren:
Cliente TotalFacturas,TotalAbonado
==
Cree la consulta, pero lógicamente cuando hay mas de un recibo por factura
se duplica el total de facturas.

SELECT Cliente, SUM(ValorACargo) AS TotalFacturas, SUM(ValorAbonado) AS
TotalAbonado
FROM Facturas LEFT JOIN Recibos ON Facturas.NumFactura = Recibos.NumFactura
GROUP BY Cliente

Ejemplo:
NumFactura ,Cliente ,ValorACargo
1, 1,$100000
2,1,$50000
3,2,100000

Recibos:
NumRecibo ,NumFactura ,ValorAbonado
501,1,$20000
505,1,$40000
510,3,$100000

los resultados

Cliente, TotalFacturas,TotalAbonado
1,250000,60000 (la fila esperada es 1,150000,60000)
2,100000,100000

Espero me pueda ayudar.


Diego M Romero
 

Leer las respuestas

#1 Salvador Ramos
17/11/2007 - 19:10 | Informe spam
Hola,

Como el valorCargo será el mismo para todos los recibos de una factura,
puedes poner min(valorCargo) o max(valorCargo) en lugar de sum(valorCargo).

Un saludo
Salvador Ramos

www.helpdna.net (información sobre SQL Server y Microsoft .Net)
www.helpdna.net/acerca_de_salvador_ramos.htm


"Diego Romero" escribió en el mensaje
news:
Hola
Como estan ?

Necesito hacer una consulta agrupada, a ver si se puede:
LAS TABLAS:

1. Facturas:
NumFactura (Clave primaria)
Cliente
ValorACargo

2. Recibos:
NumRecibo (clave primaria)
NumFactura (numero de factura que se abona)
ValorAbonado

Los resultados que se quieren:
Cliente TotalFacturas,TotalAbonado
== >
Cree la consulta, pero lógicamente cuando hay mas de un recibo por factura
se duplica el total de facturas.

SELECT Cliente, SUM(ValorACargo) AS TotalFacturas, SUM(ValorAbonado) AS
TotalAbonado
FROM Facturas LEFT JOIN Recibos ON Facturas.NumFactura =
Recibos.NumFactura
GROUP BY Cliente

Ejemplo:
NumFactura ,Cliente ,ValorACargo
1, 1,$100000
2,1,$50000
3,2,100000

Recibos:
NumRecibo ,NumFactura ,ValorAbonado
501,1,$20000
505,1,$40000
510,3,$100000

los resultados

Cliente, TotalFacturas,TotalAbonado
1,250000,60000 (la fila esperada es 1,150000,60000)
2,100000,100000

Espero me pueda ayudar.


Diego M Romero

Preguntas similares