Ir para conteúdo
Entre para seguir isso  
EliseuFirmino

Filtro Query

Recommended Posts

Bom dia.

Estou tentando realizar um filtro como o da linha destacada com os asteriscos, porém ele simplesmente não funciona.

Procurei algum caso parecido, utilizando joins mas não encontrei nada na internet.

select distinct substr(obter_nome_setor(o.cd_setor_atendimento),1,250) ds_setor_atendimento,

    o.cd_unidade_basica || ' ' || o.cd_unidade_compl cd_unidade, 
    decode(o.ie_status_unidade, 'R', '(Reserva '|| o.nm_paciente_reserva ||')', 'A', '(Paciente no leito)', 'H', '(Higienização)', 'I','(Interditado)','O','(Isolado)',o.nm_pessoa_fisica) nm_paciente,
    decode(ACC.NR_ACOMPANHANTE , 1 , 'Sim', 0, 'Não',2 , 'Sim', NULL , 'Não',3 , 'Sim') dir_acomp,
    '(     )' cp_select, '________________________________________________' cp_linha,
    o.nr_atendimento, o.ds_convenio,
O.dt_entrada dt_atendimento
from    ocupacao_unidade_v o 
       left join atend_categoria_convenio ACC 
          on O.NR_ATENDIMENTO=ACC.NR_ATENDIMENTO 
where  obter_classif_setor(cd_setor_atendimento) in (3,4)
and    (:ie_paciente = 'S' ) 
or    (:ie_paciente = 'N' and cd_pessoa_fisica is not null) 


****and ((:NR_ACOMPANHANTE = 'T') or (decode( acc.NR_ACOMPANHANTE, 1 , 'S', 0, 'N',2 , 'S', NULL , 'N',3 , 'S')=:NR_ACOMPANHANTE))****


order by    ds_setor_atendimento,
    o.cd_unidade_basica || ' ' || o.cd_unidade_compl

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente com CASE

...
((case when acc.NR_ACOMPANHANTE IN (1,2,3) then 'S'
      when acc.NR_ACOMPANHANTE = 0 THEN 'N'
      when acc.NR_ACOMPANHANTE IS NULL THEN 'N'
      ELSE 'S' END) = :NR_ACOMPANHANTE)
...

o problema é o "null" no decode , creio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×

Informação importante

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