![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#4
|
|||
|
|||
|
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 |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|