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

Where en if?

Estas en el tema de Where en if? en el foro de Mysql en Foros del Web. simplemente eso amigos existe alguna forma de hacer algo como lo que sale a continuación? Cita: SELECT campo1 FROM tabla IF(campo3='si', WHERE campo1 = 'ciudad', ...
  #1 (permalink)  
Antiguo 29/07/2010, 15:52
 
Fecha de Ingreso: enero-2009
Ubicación: talca
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 0
Where en if?

simplemente eso amigos

existe alguna forma de hacer algo como lo que sale a continuación?

Cita:

SELECT campo1 FROM tabla
IF(campo3='si', WHERE campo1 = 'ciudad', WHERE campo2='pueblo')
basicamente esa es la idea

de todos modos se que esta consulta esta mal y ya resolvi un problemilla, pero quisiera saber si existe una funcion que me permitiese realizar algo como un where condicionado
  #2 (permalink)  
Antiguo 29/07/2010, 16:29
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Where en if?

No admite ese uso el MySQL (ignoro si algún DBMS lo permite), pero si lo que tienes es una condición excluyente, puedes usar XOR:
Código MySQL:
Ver original
  1. SELECT campo1
  2. FROM tabla
  3. WHERE (campo1 = 'ciudad' XOR campo2='pueblo') AND  campo3='si';
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/07/2010, 17:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Where en if?

SELECT * FROM `tabla3` WHERE (campo3 = "SI" AND campo1 = "campo") OR (campo3 <> "SI" and campo2 ='ciudad')

Mucho mejor lo de gnzsoloyo, que hace lo mismo, creo, con una sintaxis más adecuada.
  #4 (permalink)  
Antiguo 29/07/2010, 18:09
 
Fecha de Ingreso: enero-2009
Ubicación: talca
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Where en if?

sip.
Muchas grasias.

Etiquetas: funcion
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 21:33.