Hola Amigos
Tengo un problema, bien sucio, y debo hacerlo si o si
Tengo 2 consultas, las cuales debo unir en una sola.
Es un programita de promociones donde:
Cada promocion tiene sus clientes, las facturaciones que se le han hecho a cada uno, cuantos
puntos ha ganado con cada facturacion, etc. etc.
La consulta siguiente obtiene los datos del socio y reporta:
Monto facturado en promociones normales
Monto facturado en promociones especiales
Monto Total facturado
( Todo esto para una promocion especifica :IDPROMO )
Código SQL
[-]
SELECT CLIENTE.NROSOCIO AS SOCIO, CLIENTE.NOMBRE AS CLIENTE,
CLIENTE.APELLIDO AS APELLIDO, CLIENTE.ESTABLECIMIENTO AS ESTABLECIMIENTO,
SUM(case when espromoesp=true then 0 else FACTURACION.MONTO end) AS M_NORMAL,
SUM(case when espromoesp=true then FACTURACION.MONTO else 0 end) AS M_ESPECIAL,
SUM(FACTURACION.MONTO) AS TOT_MONTO
FROM CLIENTE LEFT JOIN FACTURACION ON FACTURACION.IDCLIENTE=CLIENTE.ID
where cliente.idpromo = :IDPROMO
GROUP BY CLIENTE.NOMBRE,CLIENTE.APELLIDO,CLIENTE.ESTABLECIMIENTO,SOCIO
ORDER BY CLIENTE.APELLIDO ASC, CLIENTE.ESTABLECIMIENTO ASC
Esta otra consulta reporta:
Total de puntos ganados ( en facturaciones normales y especiales )
Total de puntos que el cliente ha canjeado
Total de puntos que tiene en la actualidad ( totalganados - canjeados )
( Todo esto para una promocion especifica :IDPROMO )
Código SQL
[-]
SELECT CLIENTE.ID AS COD, 0 AS CANJEADOS, SUM(FACTURACION.PUNTOS) AS TOTALPUNTOS
INTO #TEMP FROM
CLIENTE JOIN FACTURACION ON CLIENTE.ID = FACTURACION.IDCLIENTE
WHERE CLIENTE.IDPROMO = PIDPROMO
GROUP BY COD, CANJEADOS;
UPDATE #TEMP SET CANJEADOS =
(SELECT SUM(B.TOTALPUNTOS) FROM CANJE B WHERE B.IDCLIENTE = #TEMP.COD);
SELECT B.NROSOCIO, B.NOMBRE, B.APELLIDO, B.ESTABLECIMIENTO,
TOTALPUNTOS, CANJEADOS, (TOTALPUNTOS - CANJEADOS) AS PUNTOSACTUALES
FROM #TEMP A
LEFT OUTER JOIN CLIENTE B ON A.COD = B.ID
ORDER BY APELLIDO,NOMBRE,ESTABLECIMIENTO ASC
Lo que debo hacer es: mostrar los datos del cliente: nombre apellido y establecimiento y luego
monto total facturado
monto normal
monto especial
puntos ganados
puntos canjeados
puntos actuales
Solo eso... juntar los 2 informes en uno solo
Algun alma caritativa que quiera ayudarme con este problemon ?
Desde ya muchas gracias...