Ver Mensaje Individual
  #2  
Antiguo 03-05-2005
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Reputación: 20
fly Va por buen camino
Así, al vuelo, creo que quedaría :

Código SQL [-]
SELECT CL.nombre AS Cliente, SUM(C.monto) AS Total, SUM(C.monto / P.dinero * P.puntos) AS Puntos
FROM Compra C
INNER JOIN Cliente CL ON CL.id=C.idcliente
LEFT JOIN Promocion P ON P.id=C.idpromo
GROUP BY CL.nombre
ORDER BY CL.nombre

Pongo LEFT JOIN Promocion por si existe alguna venta que no tiene promoción. Así el TOTAL los es de todas las compras, tengan o no promoción.

Si necesitaras que el listado salga separando promociones :
Código SQL [-]
SELECT CL.nombre AS Cliente, SUM(C.monto) AS Total, SUM(C.monto / P.dinero * P.puntos) AS Puntos, P.nombre AS Promo
FROM Compra C
INNER JOIN Cliente CL ON CL.id=C.idcliente
INNER JOIN Promocion P ON P.id=C.idpromo
GROUP BY CL.nombre, P.nombre
ORDER BY CL.nombre
Por tanto TOTAL lo será de cada promoción, excluyendo las compras hechas sin promoción.

Bueno, sin poder compilarlo es todo lo que puedo hacer no te aseguro que funcione, pero los tiros van por ahí.

Saludos y suerte.

Última edición por fly fecha: 03-05-2005 a las 01:56:14.
Responder Con Cita