Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Estou com um problema em um sistema e imóveis que estou fazendo.
Tenho a tabela imoveis, caracteristicas e imoveis_caract.
Preciso fazer uma consulta onde um imóvel pode ter mais de uma característica.
Neste exemplo está funcionando normal (buscando só a característica 1):
SELECT imoveis.id_imovel, imoveis.ref, imoveis.garagens, imoveis.dormitorios, imoveis.fotos, imoveis.suites, imoveis.banheiros, imoveis.valor, caracteristicas.caracteristica FROM imoveis, caracteristicas, imoveis_caract WHERE imoveis_caract.id_caract = '1' AND caracteristicas.id_caract = imoveis_caract.id_caract GROUP BY id_imovel
Caso eu selecione mais de uma característica o consulta já não retorna resultados:
SELECT imoveis.id_imovel, imoveis.ref, imoveis.garagens, imoveis.dormitorios, imoveis.fotos, imoveis.suites, imoveis.banheiros, imoveis.valor, caracteristicas.caracteristica FROM imoveis, caracteristicas, imoveis_caract WHERE imoveis_caract.id_caract = '1' AND imoveis_caract.id_caract = '2' AND caracteristicas.id_caract = imoveis_caract.id_caract GROUP BY id_imovel
Já tentei usar assim, mas está retornando todos os imóveis que possuem a característica 1 ou a característica 2, sendo que eu queria que retornassem só os imóveis que tivessem a 1 e a 2:
SELECT imoveis.id_imovel, imoveis.ref, imoveis.garagens, imoveis.dormitorios, imoveis.fotos, imoveis.suites, imoveis.banheiros, imoveis.valor, caracteristicas.caracteristica FROM imoveis, caracteristicas, imoveis_caract WHERE imoveis_caract.id_caract IN (1,2) AND caracteristicas.id_caract = imoveis_caract.id_caract GROUP BY id_imovel
Alguém pode me dar uma dica de como eu faria essa consulta para retornar só os imóveis com as características 1 e 2 (ou mais)?
Desde já agradeço a atenção.
Carregando comentários...