Necesito crear una vista que muestre las ventas por vendedor por producto y por rango de fechas.
Tengo 2 tablas, pdv_1 y pdv_2, que registran ventas de 4 productos diferentes. Una tabla para cada punto de venta
id | usuario | producto | fecha
1 | juan pe| produc_1 | 02-03-2015
2 | jose ed| produc_2 | 03-03-2015
3 | jose ed| produc_3 | 02-03-2015
4 | juan pe| produc_4 | 02-03-2015
Necesito crear una Vista que muestre el total de ventas por producto, sumando las dos tablas, por usuario y el rango de fechas que seleccione el usuario del sistema.
Debería que dar mas o menos así:
nombre | produc_1 | produc_2 | produc_3 | produc_4 | total |
juan pe | 4 ventas | 7 ventas | 10 ventas | 12 ventas| 43 ventas |
jose ed| 9 ventas | 15 ventas | 16 ventas | 22 ventas| 62 ventas |
Estoy tratando de crear la vista pero me da errores de sintaxis:
CREATE OR REPLACE VIEW metas AS
SELECT user.username FROM user, auth_assignment
WHERE user.id = auth_assignment.user_id
AND auth_assignment.item_name = 'Ejecutivo', // Elijo los usuarios que son ejecutivos del sistema de usuarios
(SELECT SUM(T1.T2) total_produc_1 FROM
(SELECT count(id) T2 FROM pdv_1
WHERE producto= "produc_1"
union all SELECT count(id)
FROM pdv_2 WHERE producto= "produc_1") T1 ) AS producto_1,
(SELECT SUM(T1.T2) total_produc_2 FROM
(SELECT count(id) T2 FROM pdv_1
WHERE producto= "produc_2"
union all SELECT count(id)
FROM pdv_2 WHERE producto= "produc_2") T1 ) AS producto_2,
etc...
No puedo crear la tabla vista ni asociar los resultados al usuario.
Agradeceré cualquier idea o codigo de ejemplo.
Cordiales Saludos
Primero crea la SELECT que te muestre los datos, y posteriormente, cuando funcione, crea la vista a partir de ella. Te ayudará a identificar los fallos.
En cuanto a cómo hacerla: Para simplificar la consulta, puedes hacer primero una UNION de las dos tablas, de modo que después puedas hacer el correspondiente SUM y GROUP BY. Comienza por hacerlo para un único producto, y, cuando funcione correctamente, lo amplías para mostrar los 4 productos, primero en vertical y finalmente en horizontal. Si lo haces de forma progresiva, podrás ver con más facilidad qué está fallando.
Me queda claro. Gracias.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)