Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/05/2011, 10:54
razor7_996
 
Fecha de Ingreso: mayo-2011
Mensajes: 7
Antigüedad: 13 años
Puntos: 0
Respuesta: Duplicados en consulta con INNER JOIN en misma tabla

Hola, muchísimas gracias por la respuesta, pero tengo un problema, el IF de MySQL espera 3 parámetros, condición, respuesta si verdadero, respuesta si falso http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if

Decidí hacer las comparaciones lógicas, después de hacer la operación aritmética, de esa manera escribo menos código.

Hasta ahora mi consulta es esta, fíjense en la parte que dice "QUE PONGO ACA?", intente renombrando el SELECT con "AS opr", pero al ponerlo como parámetro para devolver si verdadero, me dice que no conoce ese campo...

Código MySQL:
Ver original
  1. SELECT prod.Codigo
  2.      , FORMAT(pp1.Precio,2) AS PrecioGremio
  3.      , FORMAT(pp2.Precio,2) AS PrecioPublico
  4.      , IF(
  5.           (IFNULL(
  6.                  (SELECT SUM(IF(psm.Tipo=0,psm.Cantidad,0)) - SUM(IF(psm.Tipo=1,psm.Cantidad,0))
  7.                   FROM productosstockmovimientos AS psm
  8.                   WHERE psm.IDProducto =  prod.RecID)
  9.                  ,0))
  10.            <0,QUE PONGO ACA?,0) AS Stock
  11. FROM productos AS prod
  12.   JOIN productosprecios AS pp1
  13.     ON prod.RecID = pp1.IDProducto
  14.     AND pp1.NroLista = 1
  15.   JOIN productosprecios AS pp2
  16.     ON prod.RecID = pp2.IDProducto
  17.     AND pp2.NroLista = 2
  18. WHERE prod.Inhabilitado = 0
  19. ORDER BY prod.Codigo ASC

Gracias por la ayuda!