Dudas con Union
Buenas Dias:
Gracias por leer este hilo, mi duda consiste en que tengo que realizar una consulta en una tabla de ventas donde me calcule la cantidad de ventas con descuento con su valor, asi como la cantidad total de ventas con su valor total, realice dos consultas y las uni pero al realizarlas me crean datos repetidos.
La consulta es la siguiente:
SELECT D.FECHAVENTA, D.CODIGOCAJA, D.CODIGOCAJERO, D.CODIGOTIPOARTICULO,
0 AS CANTIDADDESCUENTO,
0.0 AS DESCUENTO,
COUNT(*) AS CANTIDADVENTAS,
SUM(D.CANTIDAD*D.PRECIOUNITARIO) AS VENTAS
FROM DetalleEncabezado D
WHERE (D.FECHAVENTA>'07/01/04')
GROUP BY D.FECHAVENTA, D.CODIGOCAJA, D.CODIGOCAJERO, D.CODIGOTIPOARTICULO
UNION
SELECT D.FECHAVENTA, D.CODIGOCAJA, D.CODIGOCAJERO, D.CODIGOTIPOARTICULO,
COUNT(*) AS CANTIDADDESCUENTO,
SUM(( (D.CANTIDAD*D.PRECIOUNITARIO)*(D.Descuento/100))+( (D.CANTIDAD*D.PRECIOUNITARIO)- (D.CANTIDAD*D.PRECIOUNITARIO*(D.Descuento/100)))*(D.Descuentoencabezado/100)) AS DESCUENTO,
0 AS CANTIDADVENTAS,
0.0 AS VENTAS
FROM DetalleEncabezado D
WHERE (D.FECHAVENTA>'07/01/04')
AND ((D.Descuento > 0) OR (D.descuentoencabezado>0))
GROUP BY D.FECHAVENTA, D.CODIGOCAJA, D.CODIGOCAJERO, D.CODIGOTIPOARTICULO
y el resultado que me da es:
Los campos son:
FECHAVENTA
CODIGOCAJA
CODIGOCAJERO
CODIGOTIPOARTICULO
CANTIDADDESCUENTO
DESCUENTO
CANTIDADVENTAS
VENTAS
La información es:
02/07/2004,001,AUX2,01,0,"0,000",253,"654710,000"
02/07/2004,001,AUX2,01,75,"5716,500",0,"0,000"
02/07/2004,001,AUX2,02,0,"0,000",9,"41210,000"
02/07/2004,001,AUX2,02,3,"544,500",0,"0,000"
Mi idea es que me saliera un solo registro por agrupacion y aqui me salen dos que tienes descuento y ventas, los campos en negrillas son los que agrupo.
Sinceramente no se que estoy haciendo mal.
Gracias por su colaboracion
Rogerio
|