Ver Mensaje Individual
  #8 (permalink)  
Antiguo 13/12/2014, 11:37
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: 17 años
Puntos: 2658
Respuesta: no consigo haer funcionar a sum()

Creo que deberías aprender a interpretar los errores ajenos... Es medio evidente que quería referirme en realidad a DEFAULT '0', ¿no te parece?
Precisamente estamos discutiendo eso...

Cita:
Error Code: 1690. BIGINT UNSIGNED value is out of range in '(`stocklentesbrujuleando3`.`movimiento`.`compra` - `stocklentesbrujuleando3`.`movimiento`.`venta`)'
Eso es medio evidente si miras con mucho más cuidado los datos y haces lo que se denomina una "prueba de escritorio". Es altamente probable que estés intentando insertar en un campo que es UNSIGNED un valor negativo, porque el cálculo aritmético interior del SUM() se hace en cada registro, cuando primero deberías obtener las sumas de cada columna...
Código MySQL:
Ver original
  1. SELECT id_item, (compra - taller - venta + regula_mas - regula_menos) stock
  2.   (SELECT
  3.     id_item,
  4.     IFNULL(SUM(compra), 0) compra,
  5.     IFNULL(SUM(taller), 0) taller,
  6.     IFNULL(SUM(venta), 0) venta,
  7.     IFNULL(SUM(regula_mas), 0) regula_mas,
  8.     IFNULL(SUM(regula_menos), 0) regula_menos
  9.   FROM movimiento
  10.   GROUP BY id_item) T1
  11. ORDER BY id_item;

La verdad es que para hacer pruebas tan específicas y crear consultas que te sirvan, necesitaríamos contar con tu propia base, y entender con mucha claridad lo que haces. Pero esa es tu parte de la tarea.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)