Comissões e verba para descontos dos vendedores.
SQL - Como consultar o saldo de caixa para vendedores?
CAIVEN.FAQ-10392
select q.*
, (q.saldo - caixa_menos_ped - caixa_menos_doc)
from (
select pess.nome_completo
, cx.saldo
, (select sum(ip.quantidade_pendente * (ip.preco - ip.preco_lista))
from itens_pedidos ip
join pedidos p on p.id = ip.pedido_id
where ip.quantidade_pendente > 0
and p.situacao not in ('C','E')
and p.vendedor_id = vend.id
and ip.preco > ip.preco_lista) as caixa_mais_ped
, (select sum(ip.quantidade_pendente * (ip.preco_lista - ip.preco))
from itens_pedidos ip
join pedidos p on p.id = ip.pedido_id
where ip.quantidade_pendente > 0
and p.situacao not in ('C','E')
and p.vendedor_id = vend.id
and ip.preco < ip.preco_lista) as caixa_menos_ped
, (select sum(it.quantidade * (coalesce(it.valor_unitario,0) - coalesce(it.valor_atual_colecao,0)))
from itens_doc_entradas_saidas it
join doc_entradas_saidas doc on doc.id = it.documento_id
where doc.situacao_documento = 'I'
and it.valor_unitario > it.valor_atual_colecao
and it.vendedor_id = vend.id
) as caixa_mais_doc
, (select sum(it.quantidade * (coalesce(it.valor_atual_colecao,0) - coalesce(it.valor_unitario,0)))
from itens_doc_entradas_saidas it
join doc_entradas_saidas doc on doc.id = it.documento_id
where doc.situacao_documento = 'I'
and it.valor_unitario < it.valor_atual_colecao
and it.vendedor_id = vend.id
) as caixa_menos_doc
from vendedores vend
join pessoas pess on pess.id = vend.id
join caixas cx on cx.id = vend.conta_fluxo_id
where pess.nome_completo = 'ALESSANDRO FALLER'
) q