MySQL - Problemas al listar

 
Vista:

Problemas al listar

Publicado por Sebastian (4 intervenciones) el 17/11/2011 05:51:15

HOLA





Hola gente, es la primera vez que me acerco a preguntar a un foro de estos:

Tengo un problema al querer listar, antes que nada le dejo una imagen de mi modelo de base de datos:

http://www.imagengratis.org/images/modelophp.png


Como veran ahi, mi base de datos es de una inmobiliaria, donde por cada propiedad puedo tener varias caracteristicas.

Bien, ahora yo quiero listar las propiedades que tenga X caracteristicas, entonces hago lo siguiente:

SELECT *
FROM propiedades AS p
INNER JOIN caracteristicaspropiedades_propiedades AS cpp ON ( p.idpropiedad = cpp.idpropiedad )
INNER JOIN caracteristicaspropiedades AS cp ON ( cpp.idcaracteristica = cp.idcaracteristica )
WHERE cp.idcaracteristica =5


Aca no tengo ningun problema.. Mi problema viene que cuando quiero devolver una propiedad con mas de 1 caracteristica.


SELECT *
FROM propiedades AS p
INNER JOIN caracteristicaspropiedades_propiedades AS cpp ON ( p.idpropiedad = cpp.idpropiedad )
INNER JOIN caracteristicaspropiedades AS cp ON ( cpp.idcaracteristica = cp.idcaracteristica )
WHERE (cp.idcaracteristica = 5) AND (cp.idcaracteristica = 2) AND (cp.idcaracteristica = 3)

Me tendria que devolver algunos valores, pero me devuelve una tabla vacia.. No se que estoy haciendo mal, si me ayudan se los agradeceria mucho.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Problemas al listar

Publicado por xve (1151 intervenciones) el 17/11/2011 09:33:18
Hola Sebastian, el problema que tienes, creo que es un error que alguna vez me ha pasado a mi...
(cp.idcaracteristica = 5) AND (cp.idcaracteristica = 2) AND (cp.idcaracteristica = 3)
Esto nunca se cumple, si vale 5 no puede valer 2 ni 3
cambia el and por or...
(cp.idcaracteristica = 5) OR (cp.idcaracteristica = 2) OR (cp.idcaracteristica = 3)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas al listar

Publicado por martin (150 intervenciones) el 17/11/2011 13:48:14
Algebra Booleana
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar