Where = *

Firebird

18/11/2005

Estou fazendo uma stored procedure que irá gerar um relatório. Entretanto, gostaria que esse relatório pudesse ser calculado por algumas variantes como função, setor, depto etc. O problema é que se o usuário quiser de todos os setores não irá funcionar...
Ex.: Se o usuário escolher setor=1, blz => select * from tbl where setor=1.

Mas se ele quiser de todos os setores, aí que me compliquei. O setor vai ser igual a o quê? Alguém tem alguma idéia?
Agradeço desde já.


Adrinei

Adrinei

Curtidas 0

Respostas

Adrinei

Adrinei

18/11/2005

Para um depto => select * from tbl where depto like ´1´
Para todos => select * from tbl where depto like ´¬´


GOSTEI 0
Afarias

Afarias

18/11/2005

select * from tabela
where :setor_escolhido is null or setor=:setor_escolhido



T+


GOSTEI 0
Adrinei

Adrinei

18/11/2005

Afarias,

Como vc utilizou o ´is null´ lembrei do coalesce (uso FB 1.5)
Então acho que ficaria melhor utilizar:
select * from tabela
where setor like coalesce (:setor_escolhido, ´¬´)


GOSTEI 0
POSTAR