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

Retorno consulta Left Join


Guest Renato Muniz

Pergunta

Guest Renato Muniz

Olá pessoal estou com um probleminha

Tenho 3 tabelas

1. Heados(Id,NomeCliente,Data..) (Cabeçalho de Vendas)

2. PedOs(Id,Data,Valor,Quantidade) (Produtos Vendidos)

3. Caidia(Id,Data,Valor) (Tabela de Caixa)

é o seguinte...

Estou usando o Mysql 5.0 do WAMP + Delphi5 + Zeos.

quando faço essa consulta ele retorna os valor certinho. (So calculando os Produtos Vendidos e adicionando na tabela Head) OK

select A.Id,Sum(B.Valor * B.Quantidade) from Heados A
left join PedOs B ON A.Id = B.ID
group by Id
mas quando implemento a consulta para somar também o total recebido ele retorna os valores "dobrados"
select A.Id,Sum(Val) ,Sum(C.Valor) from Heados A
left join Caidia C ON A.Id = C.ID
left join (select Id,Sum(Valor * Quantidade) as Val from PedOS group by Id) B ON A.Id = B.ID
group by Id
já tentei assim também
select A.Id,Sum(D.Valor * D.Quantidade) ,Sum(C.Valor) from Heados A
left join Caidia C ON A.Id = C.ID
left join PedOs D ON A.ID = D.ID 
group by Id
também já tentei assim também
select A.Id,Sum(Val) ,Sum(C.Valor) from Heados A
left join Caidia C ON A.Id = C.ID
inner join (select Id,Sum(Valor * Quantidade) as Val from PedOS group by Id) B ON A.Id = B.ID
group by Id

na verdade ele não ta "dobrando" o resultado, percebi que eles está fazendo o seguinte.

ta pegando o resultado do PedOs e multiplicando pela quantidade de registro da tabela (Caidia)

e pegando o resultado do Caidia e multiplicando pela quantidade de registro da tabela (PedOs)

Obs. os dois valores vem errados, tento o Pedos.Subtotal (Vlor+Qtd) quanto o Caidia.TotalPago.

não sei se vai dá pra entender, se precisar de mais esclarecimentos...

me ajudem por favor!!

desde já agradeço.

Renato Muniz

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest Renato Muniz

Olá pessoal DEI UMA MELHORADA NA PERGUNTA, espero que dê para entender agora, valeu!!!!!

Tenho 3 tabelas

1. Heados(Id,NomeCliente,Data..) (Cabeçalho de Vendas)

2. PedOs(Id,Data,Valor,Quantidade) (Produtos Vendidos)

3. Caidia(Id,Data,Valor) (Tabela de Caixa)

é o seguinte...

Estou usando o Mysql 5.0 do WAMP + Delphi5 + Zeos.

quando faço essa consulta abaixo ele retorna o valor certinho da tabela secundaria (PedOs) que nesse caso é

R$ 703,75. (So calculando os Produtos Vendidos e adicionando na tabela Head) OK

select A.Id,Sum(B.Valor * B.Quantidade) from Heados A
left join PedOs B ON A.Id = B.Id
group by Id
mas quando implemento a consulta para somar também o total recebido ele retorna os valores "dobrados"
select A.Id,Sum(Val) ,Sum(C.Valor) from Heados A
left join (select Id,Sum(Valor * Quantidade) as Val from PedOS group by Id) B ON A.Id = B.ID
left join Caidia C ON A.Id = C.Id
group by Id
no (PedOs) que era R$ 703,75 retorna agora R$ 1407.50 e o calculo do recebido (Caidia) deveria ser R$ 175.00 que agora errado está em R$ 875.00 na verdade ele não ta "dobrando" o resultado, percebi que ele está fazendo o seguinte. ta pegando o resultado do PedOs e multiplicando pela quantidade de registro da tabela (Caidia) e pegando o resultado do Caidia e multiplicando pela quantidade de registro da tabela (PedOs) Pedos-> 5 Registros = 703,75 * 2 = 1.407,50 Caidia-> 2 Registros = 175,00 * 5 = 875,00 ?????????????????????????????????????? <_< já tentei assim também
select A.Id,Sum(D.Valor * D.Quantidade) ,Sum(C.Valor) from Heados A
left join PedOs D ON A.ID = D.Id 
left join Caidia C ON A.Id = C.Id
group by Id
também já tentei assim também
select A.Id,Sum(Val) ,Sum(C.Valor) from Heados A
left join Caidia C ON A.Id = C.Id
inner join (select Id,Sum(Valor * Quantidade) as Val from PedOS group by Id) B ON A.Id = B.Id
group by Id

não sei se vai dá pra entender, se precisar de mais esclarecimentos...

me ajudem por favor!!

desde já agradeço.

Renato Muniz

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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