Problemas com NULL

02/04/2008

0

Bom dia pessoal, estou com uma dúvida aqui... Fiz este select, bem básico, porém não estou conseguindo fazer com que o meu CASE, quando NULL, retorne indefinido...
Se alguem puder me ajudar, obrigado.

select a.demonstrativo_grupo_id, a.demonstrativo_conta_id, a.nota, a.fornecedor_id,
a.natoper_id, a.seqoper_id, a.data_emissao, a.tiponota_id, a.icms_valor,
a.ipi_valor, a.nota_valor, d.descricao,
(select case b.descricao when null then ´INDEFINIDO´ else b.descricao end
from demonstrativo_conta b where b.empresa_id = a.empresa_id
and b.grupo_id = a.demonstrativo_grupo_id
and b.conta_id = a.demonstrativo_conta_id),
(select case when c.descricao is null then ´INDEFINIDO´ else c.descricao end
from demonstrativo_grupo c where c.empresa_id = a.empresa_id
and c.grupo_id = a.demonstrativo_grupo_id)
from nota_compra a
left join tipo_nota d on d.empresa_id = a.empresa_id
and d.tiponota_id = a.tiponota_id
where a.empresa_id = 1
and a.data_emissao between ´2004-01-01´ and ´2012-01-01´


Muito obrigado,

Ricardo


R1c4rd0j3sus

R1c4rd0j3sus

Responder

Posts

03/04/2008

Emerson Nascimento

tente assim:

select
  a.demonstrativo_grupo_id, a.demonstrativo_conta_id,
  a.nota, a.fornecedor_id, a.natoper_id, a.seqoper_id,
  a.data_emissao, a.tiponota_id, a.icms_valor,
  a.ipi_valor, a.nota_valor, d.descricao,
  (case when b.descricao is null
        then ´INDEFINIDO´
        else b.descricao end) descricao_conta,

  (case when c.descricao is null
        then ´INDEFINIDO´
        else c.descricao end) descricao_grupo
from
  nota_compra a
left join
  demonstrativo_conta b on b.empresa_id = a.empresa_id
    and b.grupo_id = a.demonstrativo_grupo_id
    and b.conta_id = a.demonstrativo_conta_id
left join
  demonstrativo_grupo c on c.empresa_id = a.empresa_id
    and c.grupo_id = a.demonstrativo_grupo_id
left join
  tipo_nota d on d.empresa_id = a.empresa_id
    and d.tiponota_id = a.tiponota_id
where
  a.empresa_id = 1
  and a.data_emissao between ´2004-01-01´ and ´2012-01-01´ 



Responder

03/04/2008

R1c4rd0j3sus

Muito obrigado,
funcionou!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar