Retornar valor e status de registo inexistente no Oracle

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
luanpjp
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 29 Jun 2020 2:43 pm

Primeiramente, boa tarde!

Sou novo na empresa e preciso de um select para ajudar no meu dia a dia.

Gostaria de obter o resultado abaixo na minha query:

Documento | Dia de Chegada | Status
12345678 | - | Documento não recepcionado na matriz
90556874 | 20/05/2020 | Lote concluído

O documento 12345678 não existe na base de dados já o 90556874 existe registro e retorna apenas ele como resultado, preciso descobrir em uma lista que eu vou inserir o status de cada documento.

A query abaixo está funcionando quase que perfeitamente, porém quando um valor da lista não existe registro no banco de dados, não me retorna o resultado do case "Documento não recepcionado na matriz"

Selecionar tudo

SELECT numero AS "Documento" ,
data AS "Dia de Chegada" ,
(
CASE
WHEN (select count(1) from documentos) = '0'
THEN 'Documento não recepcionado na matriz'
WHEN usuario_recepcao IS NULL
THEN 'Tratativa não Iniciada'
WHEN usuario_despacho IS NULL
THEN 'Documento não despachado'
ELSE 'Lote Concluido'
end) as "Status"
from documentos 
where numero in (12345678, 90556874);
É possível obter o resultado que gostaria?

Obrigado a todos
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Boa noite,

Esse documento 12345678, como você sabe que ele existe ? Tem algum cadastro ?

Pois para você retornar ele, em qualquer select que seja, ele tem que estar no banco, se não, não tem como !!!

[ ]s
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 16 visitantes