REVELAR

Fórum Select complicado #57535

28/12/2006

0

Caros Colegas,

estou com um problema na seguinte query:

select CASE WHEN VP.valor_produto is null THEN P.valor_produto ELSE
VP.valor_produto END AS VALOR1
from ATIVIDADE A INNER JOIN FAZENDA F ON (F.id_fazenda = A.id_fazenda)
INNER JOIN PROPRIETARIO PR ON (PR.id_proprietario = F.id_proprietario)
LEFT JOIN VALORPRODUTO VP ON (PR.id_proprietario = VP.id_proprietario)
RIGHT JOIN PRODUTO P ON (P.id_produto = VP.id_produto)
where A.id_atividade=745
and P.nome_produto=´CALCÁRIO DOLOMÍTICO´

onde o objetivo da mesma é verificar se o proprietário referenciado
(pela atividade agrícola e conseqüentemente pela fazenda) possui
um valor de produto personalizado a este, se sim, utiliza esse valor
(campo VP.valor_produto da tab. VALORPRODUTO), caso contrário,
utiliza o valor do campo P.valor_produto da tab. PRODUTO.

o select acima funciona quando a um valor na tab. VALORPRODUTO
relacionado ao produto q está na condição (where), ou seja,
expressa o valor do campo VP.valor_produto, mas se não há
um valor cadastrado ele resulta em null (não traz nenhum registro)
e não empressa o valor do campo P.valor_produto como deveria.

Obs.: Firebird 2.0


Maikiperin

Maikiperin

Responder

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

Aceitar