Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Condicion IF con tres valores MySQL

Estas en el tema de Condicion IF con tres valores MySQL en el foro de Mysql en Foros del Web. Hola, tengo el siguiente problema, estoy haciendo una migracion entre dos tablas, la tabla origen tiene valores u, m y f y la tabla destino ...
  #1 (permalink)  
Antiguo 19/07/2015, 08:25
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 9 meses
Puntos: 3
Condicion IF con tres valores MySQL

Hola, tengo el siguiente problema, estoy haciendo una migracion entre dos tablas, la tabla origen tiene valores u, m y f y la tabla destino los valores deben ser 0,1 y 2 respectivamente, pero no sabria como implementarlo en la consulta con la condicion IF:

Código SQL:
Ver original
  1. IF(pf.field5 = 'm',1,2) AS Sexo

Hasta aqui todo bien, pero me falta condicionar si el valor del campo es 'u' => 0.

Alguna mano por favor?.

Saludos.
  #2 (permalink)  
Antiguo 20/07/2015, 08:02
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Condicion IF con tres valores MySQL

Hola Fleon:

Puedes hacer IF's anidados, es decir, algo así:
Código SQL:
Ver original
  1. IF(condición, valor_true, IF(condicion, valor_true, valor_false))

Sin embargo, es más conveniente que mejor lo hagas con CASE-WHEN

https://dev.mysql.com/doc/refman/5.0/en/case.html

Haz la prueba y nos comentas.

Saludos
Leo

Última edición por gnzsoloyo; 20/07/2015 a las 08:15
  #3 (permalink)  
Antiguo 20/07/2015, 17:47
Avatar de Fleon  
Fecha de Ingreso: febrero-2010
Mensajes: 138
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Condicion IF con tres valores MySQL

Muchas gracias leonardo_josue!, ahora sí sé como condicionar haciendo varias pruebas pude hacerlo.

Saludos XDD

Etiquetas: campo, tabla, tres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:35.