Sentença com mais de um critério para o mesmo campo e registro
Preciso do resultado de vários registros com múltiplos critérios para os mesmos campos.
Ex: Tabela Imoveis
ID_Imovel ID_Lazer
01 11
01 12
01 15
02 11
02 12
03 11
03 15
Preciso todos os ID_Movel que tenham ID_Lazer= 11 e 12, ou seja, dois registros com o mesmo id_movel e diferentes id_lazer
Tenho uma tabela de cadastro de imóveis com o código do imóvel e seus campos.
Outras três tabelas de características dos imóveis com o código do imóvel e o código da característica;
Imóveis Lazer Infra-Estrutura Instalações
id_imóvel id_Lazer id_infra id_instalacoes
id_imovel id_imovel id_imovel
Todas elas relacionadas como o campo id_imovel.
Preciso de uma consulta que me retorne todos os registros (id_imovel) que contenham as diversas opções de Lazer, Infra-estrutura e Instalações.
Algo como, todos os registros das tabelas lazer, infra-estrutura e instalações que tenham o id_lazer=2 e id_lazer=3 e id_lazer=4 e id_infra=1 e id_infra=2 e id_instalacao=2 e id_instalacao=4
Grosseiramente ;
SELECT imovel.id_imovel, imovel_infra_estrutura.id_infra_estrutura, imovel_instalacoes.id_instalacoes, imovel_lazer.id_lazer
FROM imovel INNER JOIN
imovel_infra_estrutura ON imovel.id_imovel = imovel_infra_estrutura.id_imovel INNER JOIN
imovel_instalacoes ON imovel.id_imovel = imovel_instalacoes.id_imovel INNER JOIN
imovel_lazer ON imovel.id_imovel = imovel_lazer.id_imovel
WHERE (imovel_infra_estrutura.id_infra_estrutura = 2 AND imovel_infra_estrutura.id_infra_estrutura = 3) AND (imovel_instalacoes.id_instalacoes = 4) AND
(imovel_lazer.id_lazer = 14)
Entenderam? Se eu coloco apenas uma das características de cada tabela e existe um id_imovel em cada tabela, funciona, mas se eu quero mais de um registro com o mesmo campo não funciona.
Tenho q fazer um select dentro de outro select (sub-consulta)? ou devo mesmo fazer 3 consultas??
Discussão (1)
Carregando comentários...