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

Enredo con Query Simple

Estas en el tema de Enredo con Query Simple en el foro de Mysql en Foros del Web. que tal amigos estoy enredado con una consulta algo siemple el query es el siguiente SELECT * FROM `anuncios_lugares` WHERE ( `anuncios_id` =9 ) AND ...
  #1 (permalink)  
Antiguo 22/12/2007, 14:59
Avatar de ChristianDavid  
Fecha de Ingreso: junio-2005
Mensajes: 58
Antigüedad: 18 años, 11 meses
Puntos: 0
Enredo con Query Simple

que tal amigos estoy enredado con una consulta algo siemple el query es el siguiente

SELECT *
FROM `anuncios_lugares`
WHERE (
`anuncios_id` =9
)
AND ((anuncios_lugares.lugarespropiedades_id =1) AND (anuncios_lugares.cantidad LIKE '6+')) AND ((anuncios_lugares.lugarespropiedades_id =4) AND (anuncios_lugares.cantidad LIKE '6+'))

y estos son los valores que tengo en la base de datos

id anuncios_id lugarespropiedades_id tipoopcion_id cantidad
29 9 1 NULL 6+
30 9 2 NULL 3+
31 9 4 NULL 6+


no se porque no me funciona el query aunque si cambio el and por el or funciona pero necesito que los valores se saquen solo si cumplen todas esas condiciones

Gracias
  #2 (permalink)  
Antiguo 22/12/2007, 18:21
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Enredo con Query Simple

Tienes un error en el WHERE pides que
anuncios_lugares.lugarespropiedades_id =1 y a la ve que
anuncios_lugares.lugarespropiedades_id =4

No te retorna nada... probablemente debas cambiar
((anuncios_lugares.lugarespropiedades_id =1) AND (anuncios_lugares.cantidad LIKE '6+')) AND ((anuncios_lugares.lugarespropiedades_id =4) ...
por
((anuncios_lugares.lugarespropiedades_id =1) AND (anuncios_lugares.cantidad LIKE '6+')) OR ((anuncios_lugares.lugarespropiedades_id =4) ..
  #3 (permalink)  
Antiguo 27/12/2007, 13:32
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años, 1 mes
Puntos: 4
Re: Enredo con Query Simple

Hola... sabes me parece un poco redundante hacer dos consultas para un mismo resultado, intentemos con un IN ...

SELECT *
FROM `anuncios_lugares`
WHERE `anuncios_id` = 9
AND lugarespropiedades_id IN (1,4)
AND anuncios_lugares.cantidad LIKE '6+'

espero te sea util
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #4 (permalink)  
Antiguo 27/12/2007, 15:11
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: Enredo con Query Simple

Muy de acuerdo con Omar.

De hecho (y yendo a las raíces teóricas) para estas cosas siempre es bueno tener presente las características de la aritmética booleana o álgebra de Boole (en la que las sumas son los OR y los productos los AND)
  #5 (permalink)  
Antiguo 27/12/2007, 15:36
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años, 1 mes
Puntos: 4
Re: Enredo con Query Simple

Orale, siempre es bueno volver a las raices.....
hace años que no leia algo del algebra de boole.... me acorde cuando era estudiante

saludos
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #6 (permalink)  
Antiguo 28/12/2007, 09:14
Avatar de ChristianDavid  
Fecha de Ingreso: junio-2005
Mensajes: 58
Antigüedad: 18 años, 11 meses
Puntos: 0
De acuerdo Re: Enredo con Query Simple

Muchas gracias por las respuestas ya corregi el problema la solucion fue dejar la pereza y crear bien la estructura de la tabla pero muchas gracias
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 22:02.