Usuário com melhor resposta
Reporting Services | Se o parâmetro for nulo preciso mostrar toda listagem, senão mostra os dados de acordo com o parâmetro informado

Pergunta
-
Olá,
Como faço para mostrar os dados de acordo com o parâmetro informado?
Imagina a Query "select * from dados where id = @parametroId"
Caso seja informado o valor para @parametroId, busco o dado para este parâmetro, senão mostro todos os dados sem a condição where.
Eu teria que ter 2 queries?
Com parâmetro "select * from dados where id = @parametroId"
Sem parâmetro "select * from dados"Como se faz isto?
Obrigado
[Gosto de compartilhar problemas com soluções que encontro no dia de trabalho]
- Editado TI DEV sábado, 18 de abril de 2020 14:17
Respostas
-
Boa tarde,
Seguem 2 sugestões para testes:
select * from dados where id = @parametroId or @parametroId is null
select * from dados where id = coalesce(@parametroId, id)
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta TI DEV terça-feira, 28 de abril de 2020 09:40
-
Olá,
Esta é a resposta!
No meu código ficou assim:where (id = (@parametroId) or @parametroId is null)
[Gosto de compartilhar problemas com soluções que encontro no dia de trabalho]
Todas as Respostas
-
Boa tarde,
Seguem 2 sugestões para testes:
select * from dados where id = @parametroId or @parametroId is null
select * from dados where id = coalesce(@parametroId, id)
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta TI DEV terça-feira, 28 de abril de 2020 09:40
-
Toriyama,
Uma outra possibilidade que não é a mais indicada mas pode ser aplicada é o uso da função IsNull(), a qual caberá a você passar o valor a ser utilizada caso a condição de retorno seja Null.
Veja abaixo:
-- Exemplo 1 -- Select * From Dados Where Id = IsNull(@ParametroId, 1) Go -- Exemplo 2 -- Declare @MaiorID Int Set @MaiorID = (Select Max(Id) From Dados) Select * From Dados Where Id = IsNull(@ParametroID, @MaiorID) Go
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Olá,
Esta é a resposta!
No meu código ficou assim:where (id = (@parametroId) or @parametroId is null)
[Gosto de compartilhar problemas com soluções que encontro no dia de trabalho]
-