Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Paulo de Tarso F. M.

Selecionar cadastros com aplicação de filtros

Recommended Posts

Pessoal, é o seguinte: tenho uma tabela que armazena os dados dos cadastros (nome, email), outra que armazena os dados do endereço (bairro, cidade, estado) e em outra tenho uma tabela com filtros.

 

Quero selecionar os cadastros que possuam o filtro 1 ou o filtro 2 (primeira condição) E que possuam o filtro 3 (segunda condição), e que estejam na mesma cidade.

 

O select para isso seria:

  SELECT *
    FROM cadastros.*,
         enderecos.*
LEFT JOIN filtros
      ON filtros.id_cadastro = cadastros.id_cadastro
     AND ( filtros.filtro = 'filtro1' OR filtros.filtro = 'filtro2' )
     AND filtros.filtro = 'filtro3'
   WHERE enderecos.id_cadastro = cadastros.id_cadastro
     AND enderecos.cidade = 'São Paulo'

 

 

Imaginando que existiriam os seguintes cadastros:

exemplo-tabela.png

 

Com o select pretendo selecionar os IDs 1 e 2 apenas, pois somente eles atendem às condições, que são 1º) ter o filtro1 ou filtro2 e 2º) ter o filtro 3.

 

 

Como fazer, people? :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que :

 

 SELECT *
    FROM cadastros.*,
         enderecos.*
LEFT JOIN filtros
      ON filtros.id_cadastro = cadastros.id_cadastro
     AND (
          ( filtros.filtro = 'filtro1' OR filtros.filtro = 'filtro2' )
           AND 
            filtros.filtro = 'filtro3'
         )
   WHERE enderecos.id_cadastro = cadastros.id_cadastro
     AND enderecos.cidade = 'São Paulo'

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.