Ajuda com Select no Firebird

SQL

Banco de Dados

Modelagem

Firebird

11/12/2017

Estou usando Firebird 2.5
Tenho 3 tabelas são elas:
pessoa - Cadastro de pessoas campos (ID, nome... etc)
provento - Para armazenar os proventos das pessoas os campos são: (ID, FkPessoa, FkCompetencia, FKProvento, Vrl_venc, Vrl_desc)
competencia - Armazena uma descrição dos competências campos: (ID, descricao)
DescProvento - Armazena uma descrição de provento campos (ID, descricao)

Preciso do seguinte:

Criar um SELECT que liste
Nome da pessoa e a subtração dos vencimentos - descontos
Exemplo:
NOME | Líquido a receber
José da Silva | 1.487,15
Maria João | 2.548,77

A tabela de provento é para armazenar os recebimentos e descontos do contra cheque do funcionário, então preciso de uma lista de pessoa x o líquido a receber
Wancley Ribeiro

Wancley Ribeiro

Curtidas 0

Melhor post

Lucas Guimarães

Lucas Guimarães

11/12/2017

SELECT
p.nome,
SUM(e.vrl_venc - vrl_desc) as "Líquido a receber"
FROM pessoa
INNER JOIN provento e on e.fkpessoa = p.id
GROUP BY p.nome
ORDER BY p.nome
GOSTEI 2

Mais Respostas

Wancley Ribeiro

Wancley Ribeiro

11/12/2017

Acabei de testar (11/12) os nomes estão retornando corretamente mas a coluna líquido a receber está voltando vazia (null)

SELECT pessoa.nome, SUM(e.vrl_venc - vrl_desc) as "Líquido a receber" FROM pessoa
INNER JOIN provento e on e.fkpessoa = pessoa.id
GROUP BY pessoa.nome
ORDER BY pessoa.nome

Tive que mudar de p.nome para pessoa.nome o firebird não reconhecia p
GOSTEI 1
Wancley Ribeiro

Wancley Ribeiro

11/12/2017

Acabei de testar (11/12) os nomes estão retornando corretamente mas a coluna líquido a receber está voltando vazia (null)

SELECT pessoa.nome, SUM(e.vrl_venc - vrl_desc) as "Líquido a receber" FROM pessoa
INNER JOIN provento e on e.fkpessoa = pessoa.id
GROUP BY pessoa.nome
ORDER BY pessoa.nome

Tive que mudar de p.nome para pessoa.nome o firebird não reconhecia p

Resolvido fiz a seguinte mudança

SELECT pessoa.nome, (SUM(e.vrl_venc) - sum( vrl_desc)) as "Líquido a receber" FROM pessoa
INNER JOIN provento e on e.fkpessoa = pessoa.id
GROUP BY pessoa.nome
ORDER BY pessoa.nome

Valeu Lucas Deus o abençoe!
GOSTEI 0
POSTAR