Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido)Busca ignorando caso nulo.


Hellyson Lima

Pergunta

Senhores,

Tenho 3 menus:

UF

Cidade

Site

Uma tabela que contém os 3 campos:

UF

Cidade

Site

Na minha aplicação, se eu selecionar a UF = MG por exemplo, devará trazer somente as Cidades e Sites com UF = MG.

Se eu selecionar o Site = Centro, deverá trazer somente as Cidades e os UFs que tenham o Site = Centro

Se eu não selecionar nenhum Site, UF ou Cidade, na escola de qualquer um, iria trazer todos.

Fiz assim para cada menu (exemplo abaixo foi da cidade, porém estão todos iguais, só mudando o campo):

select

distinct cidade

from

tblSite

where

status = 'Ativo'

and

(

uf = '{campouf}' OR

cidade= '{campocidade}' OR

site= '{camposite}'

)

order by cidade

//Coloquei a string acima no menu cidade, se antes eu selecionar o Site = Centro, realmente irá mostrar somente as cidades que tem o Site = Centro, porém se eu não selecionar nada, não traz nada, queria algo assim:

select

distinct cidade

from

tblSite

where

status = 'Ativo'

and

(

if '{campouf}' = null then

ignoraclausula

else

uf = '{campouf}'

end

)

AND

(

if '{campocidade}' = null then

ignoraclausula

else

cidade = '{campocidade}'

end

)

AND

(

if '{camposite}' = null then

ignoraclausula

else

site= '{camposite}'

end

)

order by cidade

Agradeço quem puder me ajudar

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Consegui amigos, ou melhor, um amigo conseguiu para mim, ficou assim:

Select Distinct cidade

From tblsite

Where status = 'Ativo'

And ('{campouf}' Is Null Or uf = '{campouf}')

And ('{campocidade}' Is Null Or cidade = '{campocidade}')

And ('{camposite}' Is Null Or site = '{camposite}')

Order By cidade

Obrigado a todos

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...