Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/10/2014, 12:45
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Multiplicar dos campos de tablas diferentes y el reultado guardarlo en una

Cita:
Iniciado por Adonay_Guzman Ver Mensaje
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 original
  1. SELECT E.id_empleado, E.Nombre, P.NombreProducto, COUNT(P.id_Producto) TotalventasEmpleado
  2. FROM Empleado E
  3.     INNER JOIN Venta V ON E.id_empleado = V.id_empleado
  4.     INNER  JOIN Producto P ON V.id_producto = P.id_producto
  5. 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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)