Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manolegal

Consulta Postgre

Recommended Posts

Olá amigos. Tenho uma consulta que em caso de não haver movimentação em uma tabela, preciso que seja retornado valor do BD, nem que seja "0". Tentei com a função COALESCE mas não está funcionando.

SELECT DISTINCT agric_troca_safra.id_safra, agric_troca_safra.safra,
agric_troca_contratos_detalhes.produto_id, 
veiculos_despesas_produtos_produtos.produto, 
agric_troca_safra_produtos.qdade_produto as entrada_de_produto,

	(SELECT COALESCE(SUM(agric_troca_contratos_detalhes.qdade_produto),0)
	FROM agric_troca_contratos, agric_troca_contratos_detalhes
	WHERE agric_troca_contratos.id_contrato = agric_troca_contratos_detalhes.contrato_id
        AND agric_troca_contratos.situacao != 'CONTRATO CANCELADO'
	AND agric_troca_contratos.safra_id = 11
	AND agric_troca_contratos_detalhes.produto_id = 43) as total_saidas_produto
            
FROM 
agric_troca_contratos, agric_troca_contratos_detalhes, veiculos_despesas_produtos_produtos,
agric_troca_safra, agric_troca_safra_produtos
WHERE agric_troca_contratos.id_contrato = agric_troca_contratos_detalhes.contrato_id
AND agric_troca_contratos_detalhes.produto_id = veiculos_despesas_produtos_produtos.id_produto
AND agric_troca_safra.id_safra = agric_troca_safra_produtos.safra_id
AND agric_troca_contratos.safra_id = agric_troca_safra.id_safra
AND agric_troca_contratos.situacao != 'CONTRATO CANCELADO'
AND agric_troca_contratos.safra_id = 11
AND agric_troca_contratos_detalhes.produto_id = 43; 

Imagino que o problema esteja em:

(SELECT COALESCE(SUM(agric_troca_contratos_detalhes.qdade_produto),0)

Desde já agradeço pelas colaborações.



Resolvido. O problema estava na consulta e não na função.

SELECT DISTINCT agric_troca_safra.id_safra, agric_troca_safra.safra,
agric_troca_safra_produtos.produto_id, 
veiculos_despesas_produtos_produtos.produto, 
agric_troca_safra_produtos.qdade_produto as entrada_de_produto,

	(SELECT COALESCE(SUM(agric_troca_contratos_detalhes.qdade_produto),0)
	FROM agric_troca_contratos, agric_troca_contratos_detalhes
	WHERE agric_troca_contratos.id_contrato = agric_troca_contratos_detalhes.contrato_id
        AND agric_troca_contratos.situacao != 'CONTRATO CANCELADO'
	AND agric_troca_contratos.safra_id = 12
	AND agric_troca_contratos_detalhes.produto_id = 42) as total_saidas_produto
            
FROM agric_troca_safra, agric_troca_safra_produtos,
veiculos_despesas_produtos_produtos
WHERE agric_troca_safra.id_safra = agric_troca_safra_produtos.safra_id
AND agric_troca_safra_produtos.produto_id = veiculos_despesas_produtos_produtos.id_produto
AND agric_troca_safra.id_safra = 12
AND agric_troca_safra_produtos.produto_id = 42;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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