Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/03/2013, 20:14
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: Sacar el signo de un partido de futbol

Una vista, no, pero si no quieres complicarlo, te conviene transformar la consulta inicial en una subconsulta. Es mucho más sencillo.
Código MySQL:
Ver original
  1.     idpartido,
  2.     pais,
  3.     ftl,
  4.     ftv,
  5.     pronostico,
  6.     IF(pronostico = Signo1X2, 1, 0) Aciertos1X2
  7.         idpartido,
  8.         pais,
  9.         ftl,
  10.         ftv,
  11.         pronostico,
  12.         IF(ftl > ftv, 1, IF(ftl < ftv, 2, 'X')) Signo1X2
  13.     FROM partidos) t1

Dos detalles:
1) No confundas los acentos graves (`) con los apóstrofos ('). Los primeros se usan para nombres de tablas, bases, columnas y alias (no obligatorio salvo ciertas condiciones); los segundos se usan exclusivamente para cadenas de texto.
En este contexto:
Código MySQL:
Ver original
  1. IF('pronostico' = 'Signo1X2', 1, 0) 'Aciertos1X2'
"pronostico" y "Signo1X2" son cadenas de texto y no alias.
No es obligatorio usar los acentos graves a menos que sean para evitar problemas con palabras reservadas, o que el nombre del objeto tenga caracteres especiales (como espacios en blanco, signos aritméticos o cosas semejantes).

2) Los alias puestos a las columnas no se pueden usar en el mismo SELECT donde se definieron, ni tampoco en el WHERE. Nunca.
Eso significa que esto:
Código MySQL:
Ver original
  1. SELECT idpartido, pais, ftl, ftv, pronostico,
  2.     IF(ftl > ftv, 1, IF(ftl < ftv, 2, 'X')) Signo1X2,
  3.     IF(pronostico = Signo1X2, 1, 0) Aciertos1X2
  4. FROM partidos
Hubiese dado un error por "columna desconocida" para Signo1X2.

Tip final: Cuando postees código de cualquier tipo, por favor usa el Highlight adecuado. Eso facilitará la comprensión de los mismos, y además el resaltado de colores te ayudará a ver errores de sintaxis evidentes.
El combo que está en la ventana de edición sirve para eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)