|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
valmirluis42 Novato
Registrado: Segunda-Feira, 17 de Agosto de 2015 Mensagens: 60
|
Enviada: Sáb Set 08, 2018 12:07 pm Assunto: erro nos valores do Select Sql server (RESOLVIDO) |
|
|
Estou tendo problemas com o seguinte select :
Código: | select distinct a.CLIENTE_id,a.CLI_NOME,a.cidade,a.estado,sum(b.total)as tocalcompras From promocao as a inner join PEDIDOS_ORCAMENTOS as b on a.pedido=b.codigo group by a.cliente_id,a.cli_nome,a.cidade,a.estado |
ele soma os valores por causa da duplicidade do pedido.
como mostra no exemplo abaixo, um cliente comprou 1 vez , e o valor da pedido no select está sendo triplicado, e deveria ser só 165,69
Editado pela última vez por valmirluis42 em Seg Set 10, 2018 11:44 am, num total de 1 vez |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Sáb Set 08, 2018 5:48 pm Assunto: |
|
|
Boa tarde,
Por que existem 3 linhas na tabela promoção para o mesmo pedido?
Não consegui identificar pela imagem nenhuma diferença entre as 3 linhas...
Editado pela última vez por imex em Seg Out 02, 2023 11:44 am, num total de 1 vez |
|
Voltar ao Topo |
|
|
valmirluis42 Novato
Registrado: Segunda-Feira, 17 de Agosto de 2015 Mensagens: 60
|
Enviada: Seg Set 10, 2018 8:43 am Assunto: |
|
|
Bom dia Imex, essa tabela armazenava a quantidade de vezes que o sistema gerou de uma promoção . Ele tem 3 vezes o registro , pois o sistema gerava cupons para cada venda ( Pedido) a cada R$ 50,00 ( nesse caso gerou e gravou 3 vezes). |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Seg Set 10, 2018 11:30 am Assunto: |
|
|
Bom dia,
Pelo que vi a tabela promoção está sendo utilizada só para pegar dados dos clientes e na imagem parecem ser iguais, então segue uma sugestão que pega os dados da primeira linha:
Código: | select
ca.CLIENTE_id,
ca.CLI_NOME,
ca.cidade,
ca.estado,
sum(b.total) as tocalcompras
From PEDIDOS_ORCAMENTOS as b
cross apply
(
select top(1)
a.CLIENTE_id,
a.CLI_NOME,
a.cidade,
a.estado,
from promocao as a
where
a.pedido = b.codigo
) as ca
group by
ca.cliente_id,
ca.cli_nome,
ca.cidade,
ca.estado |
Espero que ajude |
|
Voltar ao Topo |
|
|
valmirluis42 Novato
Registrado: Segunda-Feira, 17 de Agosto de 2015 Mensagens: 60
|
Enviada: Seg Set 10, 2018 11:43 am Assunto: |
|
|
Resolvido , obrigado Imex |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|