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

Consulta SQL devuelve resultados de mas

Estas en el tema de Consulta SQL devuelve resultados de mas en el foro de Mysql en Foros del Web. Me pregunto si esta consulta es correcta, ya que lo que quiero es que devuelva los resultados donde categoria sea 2 o 3 o 4 ...
  #1 (permalink)  
Antiguo 28/04/2008, 12:51
 
Fecha de Ingreso: febrero-2006
Mensajes: 103
Antigüedad: 18 años, 2 meses
Puntos: 1
Consulta SQL devuelve resultados de mas

Me pregunto si esta consulta es correcta, ya que lo que quiero es que devuelva los resultados donde categoria sea 2 o 3 o 4 o 5 o...o 13 Y titulo sea "vivienda".

Lo que ocurre es que me devuelve:

Vivienda rural domotica
Anuncio 2
Anuncio 3
...

Devuelve 7 resultados pero "vivienda" solo esta en dos, en cambio por categoria si esta bien, solo devuelve las se encuentran entre las que he puesto.

La consulta es la siguiente:

select * from usuarios where categoria = 2 or categoria = 3 or categoria = 4 or categoria = 5 or categoria = 6 or categoria = 7 or categoria = 8 or categoria = 9 or categoria = 10 or categoria = 11 or categoria = 12 or categoria = 13 and titulo like "%vivienda%"

Espero que me entendais. Gracias.
  #2 (permalink)  
Antiguo 28/04/2008, 12:57
Avatar de reel  
Fecha de Ingreso: febrero-2004
Ubicación: Managua, Nicaragua
Mensajes: 496
Antigüedad: 20 años, 2 meses
Puntos: 1
Re: Consulta SQL devuelve resultados de mas

Hay algo que se llama precedencia de operadores, te recomiendo que los estudies.

Mientras te recomiendo que los cambies de esta forma:

select * from usuarios where (categoria = 2 or categoria = 3 or categoria = 4 or categoria = 5 or categoria = 6 or categoria = 7 or categoria = 8 or categoria = 9 or categoria = 10 or categoria = 11 or categoria = 12 or categoria = 13) and titulo like "%vivienda%"

Saludos,
__________________
Leer es Saber, REEL.
Mi Blog
  #3 (permalink)  
Antiguo 29/04/2008, 07:49
 
Fecha de Ingreso: febrero-2006
Mensajes: 103
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: Consulta SQL devuelve resultados de mas

Gracias por tu respuesta reel, ha funcionado a la perfeccion. Nunca habia visto usar parentesis en las consultas, pero me he dado cuenta de cual es el sentido. Gracias nuevamente.
  #4 (permalink)  
Antiguo 29/04/2008, 11:31
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
Re: Consulta SQL devuelve resultados de mas

Es mejor simplificar código:
Código:
SELECT * 
FROM usuarios 
WHERE categoria IN(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)  
AND titulo lLIKE '%vivienda%';
Sino sólo un mago encontraría el errror, si se produce alguno.
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 02:16.