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

[SOLUCIONADO] Clausula condicional

Estas en el tema de Clausula condicional en el foro de Bases de Datos General en Foros del Web. Esta consulta recibe dos parametros, lo que pretendo es que la segunda condicional participe de la consulta solo si el valor que recibe es mayor ...
  #1 (permalink)  
Antiguo 22/01/2017, 14:39
Avatar de asdmaster  
Fecha de Ingreso: marzo-2010
Mensajes: 98
Antigüedad: 14 años, 8 meses
Puntos: 2
Clausula condicional

Esta consulta recibe dos parametros, lo que pretendo es que la segunda condicional participe de la consulta solo si el valor que recibe es mayor que 0,
es decir que "AND fk_id_b = ?" se evalue solo si su valor es mayor a 0. si no que la consulta termine en "WHERE fk_id_a = ?"
¿es posible?

Código MySQL:
Ver original
  1. SELECT * FROM tabla
  2. WHERE fk_id_a = ?
  3. AND fk_id_b = ?

Gracias...

Última edición por asdmaster; 22/01/2017 a las 15:07
  #2 (permalink)  
Antiguo 22/01/2017, 18:09
Avatar de asdmaster  
Fecha de Ingreso: marzo-2010
Mensajes: 98
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Clausula condicional

Luego de unos cuantos cabezazos, encontré una solución no sé si será la más apropiada pero al menos cumple con lo requerido.

Código MySQL:
Ver original
  1. SELECT * FROM tabla
  2. WHERE fk_id_a = ?
  3. AND ((fk_id_b = ? AND fk_id_b > 0)
  4. XOR (1=1))

Etiquetas: clausula, condicional, tabla, valor
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 07:41.