Filtro de busca com 2 intervalos e 3 campos no banco
Pessoal bom dia...
Estou montando um sistema para uso pessoal, será um cadastro de imóveis.
Porém, em alguns momentos, eu terei um imóvel "fixo", ou seja, com valores fixos de preço, qtde de vagas, m², etc... em outros momentos, eu vou incluir um condominio por exemplo, então, o valor, qtde de vagas, m², banheiros, não serão fixos, terão um intervalo, pois cada apartamento em um prédio tem suas características.
Então eu fiz o seguinte, criei no banco de dados 3 campos, exemplo:
BANHEIROS, BANHEIROS_MIN, BANHEIROS_MAX
Na hora do cadastro, eu preencho o campo BANHEIROS (se for um imovel fixo), OU eu preencho BANHEIROS_MIN e BANHEIROS_MAX (se for um prédio). Nunca os 3 campos estarão preenchidos ao mesmo tempo!!! Já fiz esse bloqueio no php.
Acontece o seguinte, na hora de criar um filtro de busca para o usuário, eu criei 2 campos para ele poder definir um intervalo... exemplo: o usuário quer ver imóveis que contém de 1 a 4 banheiros... Estou quebrando a cabeça aqui pra fazer essa busca. Tentei isso mas ele não está obedecendo da forma correta:
SELECT * FROM imoveis WHERE (1 BETWEEN BANHEIROS_MIN AND BANHEIROS_MAX OR 4 BETWEEN BANHEIROS_MIN AND BANHEIROS_MAX AND BANHEIROS >= 1 AND BANHEIROS <= 4)
Qual seria a melhor forma de fazer isso para atender as minhas necessidades?
Obrigado desde jáDiscussão (3)
Carregando comentários...