olá Sidnei, ainda não é issoveja... o campo d_lote pode ser vazio ou não...mas
ambos trazem resultados diferentesno caso o resultado dessa consulta (select
coalesce(sum(ie.qt_entrada*up.vr_fator),0)....)varia se o campo for nulo ou
não, se eu utilizar
(vt_d_lote is null or ie.d_lote = vt_d_lote)aí o resultado vai ficar incorreto.
From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Wed, 21 Feb 2007 14:17:27
-0300Subject: Re: [PostgreSQL-Brasil] dúvida com "null"
Além disso.......
Acho que não compreendi a sua
pergunta no primeiro momento, mas o que você pretende fazer pode ser
assim:
where (ie.c_produto = in_c_produto) and
(vt_d_lote is null or ie.d_lote = vt_d_lote)
Abraços
Sidnei
----- Original Message -----
From:
saulo
Mendes
To: [email protected]
Sent: Wednesday, February 21, 2007 1:07
PM
Subject: [PostgreSQL-Brasil] dúvida com
"null"
Senhores,em uma determinada função
se eu comparar um valor de uma variável, e esta contiver um valor nuloa
consulta não me traz o resultado. Gostaria de saber como equacionar isso de
forma não-redundante.segue o trecho da consulta:
select coalesce(sum(ie.qt_entrada*up.vr_fator),0) from
tb_itentrada_prod ie inner join tb_unid_produto up
on (up.c_unid_produto = ie.c_unid_produto) and (up.d_unidade in
('E','A')) inner join tb_entrada_prod e on
(ie.c_entrada_prod = e.c_entrada_prod) and
(e.c_estoque = in_c_estoque) and
(to_timestamp(e.dt_emissao||' '||e.hr_entrada,
'YYYY-MM-DD HH24:MI:SS') >
coalesce(v_hr_inventario,'1900-02-20 11:18:14-03'))
where (ie.c_produto = in_c_produto) and (ie.d_lote = vt_d_lote) <<<<
vt_d_lote é uma variável....se o valor dela for
nulo(esse campo pode ser nulo) a consulta não me traz o valor correto pois o
postgres não entendeu tipo, ie.d_lote
= null. into
vr_estoque_positivo;a solução parcial que encontrei é, antes de
consulta (select coalesce...) eu testar se a variável é nula, caso seja eu
reescrevo a função com o final ie.d_lote is
null. Eu gostaria de eliminar esse redundância.agradeço, desde
já.
O Windows Live Spaces está aqui! Descubra como é fácil criar seu espaço na
Web
e sua rede amigos. Confira!
_______________________________________________Grupo de Usuários do
PostgreSQL no BrasilAntes de perguntar consulte o
manualhttp://pgdocptbr.sourceforge.net/Para editar suas opções ou
sair da lista acesse a página da lista
em:http://pgfoundry.org/mailman/listinfo/brasil-usuarios
_________________________________________________________________
Ligue para os seus amigos grátis. Faça chamadas de PC-para-PC pelo messenger--
GRÁTIS
http://get.live.com/messenger/overview_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios