Ir para conteúdo
Fórum Script Brasil
  • 0

GROUP BY com subtração


Guest --ALEXANDRE --

Pergunta

Guest --ALEXANDRE --

Amigos preciso de uma outra ajuda....

Eu tenho uma tabela chamada cplmov.dbf onde são gravadas todas as vendas dos meus clientes. E no momento estou trabalhando apenas em dois tipos de movimentação, o VPE e o VPS.Preciso de uma consulta que me dê o saldo de cada cliente levando em consideração esses dois tipo de movimentação. SUBTRAINDO VPS Do VPE, ou seja VPE - VPS.

O que eu consegui foi acumular os VPE's,

SELECT CLIENTES.codigo, CLIENTES.CREDITO, CLIENTES.RAZAO_SOC, Sum(CPLMOV.tot_merc) AS Total_nota

FROM CLIENTES INNER JOIN CPLMOV ON CLIENTES.codigo = CPLMOV.cli_for

GROUP BY CLIENTES.codigo, CLIENTES.CREDITO, CLIENTES.RAZAO_SOC

WHERE CPLMOV.TIPO_OPER='VPS' AND CLIENTES.STATUS_MOV='E'

mas não sei om pegar os VPS's para poder subtrair.

E se não for incomodar muito gostaria de saber se é possivel adicionar a esse calculo mais 2 valores de 2 tabelas distintas, tipo o valor deste cliente que esta na despesa e o valor que esta na Receita.

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Guest --Alexandre --

Amigos tentei fazer da seguinte forma...

SELECT CLIENTES.codigo, CLIENTES.CREDITO, CLIENTES.RAZAO_SOC, Sum(CPLMOV.tot_merc) AS Total_nota

FROM CLIENTES INNER JOIN CPLMOV ON CLIENTES.codigo = CPLMOV.cli_for

WHERE CPLMOV.TIPO_OPER='VPS' AND CLIENTES.STATUS_MOV='E'

GROUP BY CLIENTES.codigo, CLIENTES.CREDITO, CLIENTES.RAZAO_SOC

union

SELECT CLIENTES.codigo, CLIENTES.CREDITO, CLIENTES.RAZAO_SOC, Sum(CPLMOV.tot_item) AS Total_nota2

FROM CLIENTES INNER JOIN CPLMOV ON CLIENTES.codigo = CPLMOV.cli_for

WHERE CPLMOV.TIPO_OPER='VPE' AND CLIENTES.STATUS_MOV='E'

GROUP BY CLIENTES.codigo, CLIENTES.CREDITO, CLIENTES.RAZAO_SOC

Porem não trouxe da forma q eu preciso.

Ele toruxe da seguinter forma:

codigo | Razao_soc | credito | total_nota

1 clientex 20 200

1 clientex 20 100

2 clientey 30 50

2 clientey 30 100

3 clientez 10 100

3 clientez 10 300

Porem o que eu preciso é q ele me traga da seguite forma:

codigo | Razao_soc | credito | VPE | VPS | Saldo

1 clientex 20 200 100 100

2 clientey 30 50 100 -50

3 clientez 10 100 300 -200

alguém pode me ajudar?

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Voce está utilizando arquivos *.DBF (pelo que está em outro post), então acho que vai ser difícil obter muito deles através de instruções SQL, que são limitadas para este tipo de "banco de dados".

dependendo do que você está fazendo, talvez seja uma opção popular uma tabela temporária. Cria ela com as colunas conforme você precisa e, então, você grava as informações de uma consulta nela (VPS) e depois grava ou atualiza dos dados com a outra consulta (VPE)

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Alexandre --

Entendi, Realmente estou usando tableas .DBF, mas pra fazer o que você esta sugerindo eu acho q na minha situação seri complicado, devido ao grande numero de registros que eu tenho na tabela.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...