Cita:
Iniciado por Adonay_Guzman Hola soy nuevo en esto de MySQL y quisiera que me ayudaran con este problema:
Tengo una tabla llamada Empleados en la cual esta el ID,Nombre,Cantidad_Venta
Tengo una segunda tabla llamada Producto en la cual esta el ID,Precio
y una 3° tabla llamada records donde esta Ventas que son todas las ventas del empleado.
Lo que quiero es que con un trigger me multiplique la Cantidad_venta de la tabla Empleados y Precio de la tabla Producto y el resultado lo guarde en la tabla records en la columna ventas
De antemano Gracias
Si tienes una tabla de Empleados, otra de Productos, y una de Venta donde se relaciona cada venta con cada producto vendido (Ventas deberían ser dos tablas como mínimo en realidad), no necesitas poner esa información en la tabla de emeplados, y ni siquiera guardarla. Con sólo realizar una consulta podrías obtener la misma información en forma dinámica y actualizada.
Un simple
Código SQL:
Ver originalSELECT E.id_empleado, E.Nombre, P.NombreProducto, COUNT(P.id_Producto) TotalventasEmpleado
FROM Empleado E
INNER JOIN Venta V ON E.id_empleado = V.id_empleado
INNER JOIN Producto P ON V.id_producto = P.id_producto
GROUP BY E.id_empleado, V.id_producto;
Te devolvería el total de productos vendidos por emplado y por producto, por ejemplo. De ese mismo modo, de acuerdo a la forma como se hagan las diferentes consultas podrás obtener los reprtes necesarios, sin siquiera tener que escribir un trigger.
Los trigger no son una buna opción para este tipo de tareas, y además lo campos calculados no están permitidos en el modelo relacional (son una violacion al mismo), además de requerir procesos adicionales para mantener consistencia de datos.
No son eficientes.