Como trabajar con vistas
Hola:
Aunque no dices con que tipo de BD estas trabajando, casos similares al tuyo en SQL2000 se resuelve creando una tabla temporal con la estructura de salida que necesitas. Por ejemplo en un procedimiento almacenado
CREATE TABLE #temporal
(
producto char(50),
seguro int,
programa int,
venta int,
total int
)
INSERT INTO #temporal
SELECT producto, SUM(seguro), 0, 0, SUM(seguro)
FROM Ventas INNER JOIN
Tipo_salida ON Ventas.csalida = Tipo_salida.csalida
WHERE csalida = '01'
GROUP BY producto
UNION ALL
SELECT producto, 0, SUM(programa), 0, SUM(programa)
FROM Ventas INNER JOIN
Tipo_salida ON Ventas.csalida = Tipo_salida.csalida
WHERE csalida = '02'
GROUP BY producto
UNION ALL
SELECT producto, 0, 0, SUM(venta), SUM(venta)
FROM Ventas INNER JOIN
Tipo_salida ON Ventas.csalida = Tipo_salida.csalida
WHERE csalida = '03'
GROUP BY producto
SELECT producto, sum(seguro) seguro, sum(programa) programa, sum(venta) venta, sum(total)
FROM #temporal
GROUP BY producto
Con este tipo de consulta se puede lograr obtener casi cualquier resultado por dificil que parece.
Saludos
Luis Garcia
_____________________________
La mejor manera de decir es hacer
|