Ir al contenido


Foto

Ayuda: con consulta de precendencia en mysql


  • Por favor identifícate para responder
8 respuestas en este tema

#1 chrismark182

chrismark182

    Advanced Member

  • Miembros
  • PipPipPip
  • 65 mensajes

Escrito 14 junio 2012 - 10:34

Tengo algo que me esta dejando cabezon...

Ahorita tengo una Base de datos y ya con sus registros..

En una tabla tiene campos que son de medidas: medida1, medida2,medida3 que a partir de ahi hace la consulta...
Por ejemplo pone
Medida1=195 /// Medida2=50/// Medida3=15 y con eso sale los registros con esa 3 medidas...

Mi problema es el siguiente ahora quiero que la consulta sea las 3 medidas mas el campo condicion, el campo condicion solo tiene New o Used pero esa consulta sera opcional.
Por ejemplo
Medida1=195 /// Medida2=50/// Medida3=15/// condicion=New

Cuando Hago la Consulta

select * from llanta where medida1 =195 and medida2 =50 and medida3 =15 or condicion LIKE  "new"


Se visualizan medidas que no estan en la consulta, mejor dicho a parte de 195,50,15 me sale por ejemplo 215,70,14 como si el dato principal sea la condicion...

Lo que yo quiero conseguir es que condicion vaya junto con las medidas...


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 junio 2012 - 10:55

select * from llanta where medida1 =195 or medida2 =50 or medida3 =15 and condicion = 'new'


Saludos.
  • 0

#3 chrismark182

chrismark182

    Advanced Member

  • Miembros
  • PipPipPip
  • 65 mensajes

Escrito 14 junio 2012 - 11:16

me visualizan mas registros.. creo que cuando pones la condicion or en las medidas me salen mas medidas..
  • 0

#4 chrismark182

chrismark182

    Advanced Member

  • Miembros
  • PipPipPip
  • 65 mensajes

Escrito 14 junio 2012 - 11:17

Voy a seguir intentando :D
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 junio 2012 - 11:27

me visualizan mas registros.. creo que cuando pones la condicion or en las medidas me salen mas medidas..


Pregunto, ¿quieres mostrar todas las llantas que tengan esas medidas o mostrar una llanta especifica con esas medidas?.
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 junio 2012 - 11:34

Voy a seguir intentando :D


SELECT * FROM llanta WHERE medida1 =195 AND medida2 =50 AND medida3 =15 AND condicion = 'new'

  • 0

#7 chrismark182

chrismark182

    Advanced Member

  • Miembros
  • PipPipPip
  • 65 mensajes

Escrito 14 junio 2012 - 11:37

Quiero mostrar las llantas con esas medidas pero que la condicion no sea obligatorio.

mejor dicho que hecho 4 combos..

1er combo: la medida1
2do combo: la medida2
3er combo: la medida3
4to combo: la condicion.

La busqueda puedes hacer solo con las 3 medidas o junto con la condicion.

Pero si no quiero que busquen junto con la condicion por eso ponia el OR. o como puedo hacer para que la condicion no reconosca..
  • 0

#8 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 junio 2012 - 12:00

Ahora te entiendo:

switch($_POST['condicion'])
{
  case 1:
    $condicion = '';
    break;
  case 2:
    $condicion = " OR condicion = 'new'";
    break;
  case 3:
    $condicion = " OR condicion = 'used'";
    break;
}

$query = 'SELECT * FROM llanta WHERE medida1 =195 AND medida2 =50 AND medida3 =15' . $condicion;
mysql_query($query);


Con esto te da una pista más o menos de cómo debes manejar esta situación.

Saludos.
  • 0

#9 luisgutierrezb

luisgutierrezb

    Advanced Member

  • Miembros
  • PipPipPip
  • 92 mensajes
  • LocationMéxico

Escrito 14 junio 2012 - 12:25

Bueno, solo una pregunta, si la condición no es obligatoria, para que ponerla?


SELECT * FROM llanta WHERE (medida1 =195 AND medida2 =50 AND medida3 =15) OR condicion = 'new'


la única diferencia son los paréntesis...

  • 0




IP.Board spam blocked by CleanTalk.