Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/09/2013, 10:17
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: Consulta case

¿el campo status es numérico o de cadena?
A mi entender, si lo estás comparando con "1", no deberías tenerlo como CHAR o VARCHAR...

En todo caso, no necesitas un CASE para lograr eso, y además usas una sintaxis poco eficiente en el JOIN:
Código MySQL:
Ver original
  1.     IF(i.status = 1, 'Compra', 'Venta') `status`,
  2.     i.id Factura,
  3.     i.id_cliente `numero de cliente`,
  4.     c.nombre nombre,
  5.     i.id_producto,
  6.     p.nombre Producto
  7.     inventario i
  8.     INNER JOIN productos p ON i.id_producto=p.id
  9.     INNER JOIN cliente c ON i.id_cliente=c.id;
Notas:
- No uses AS. Es una cláusula obsoleta que sólo está por compatibilidad de motores muy viejos. Ya no cumple funciones salvo ensuciar el código.
- No hagas JOINs implícitos (la coma), hazlos explícitos. MySQL realiza optimizaciones en el FROM, pero no en el WHERE.
- Ten cuidado con el uso de comillas ("), porque en algunos servidores pueden causar errores de sintaxis.
- El orden de las tablas importa en SQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)