ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

erro nos valores do Select Sql server (RESOLVIDO)

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
valmirluis42
Novato
Novato


Registrado: Segunda-Feira, 17 de Agosto de 2015
Mensagens: 60

MensagemEnviada: Sáb Set 08, 2018 12:07 pm    Assunto: erro nos valores do Select Sql server (RESOLVIDO) Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sáb Set 08, 2018 5:48 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
valmirluis42
Novato
Novato


Registrado: Segunda-Feira, 17 de Agosto de 2015
Mensagens: 60

MensagemEnviada: Seg Set 10, 2018 8:43 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Set 10, 2018 11:30 am    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
valmirluis42
Novato
Novato


Registrado: Segunda-Feira, 17 de Agosto de 2015
Mensagens: 60

MensagemEnviada: Seg Set 10, 2018 11:43 am    Assunto: Responder com Citação

Resolvido , obrigado Imex
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB