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

Somar e aparecer somente um item de cada!


ToPronto N'Area

Pergunta

Ola pessoal éo seguinte, preciso fazer este select

select

sum(d.valor) as SomVlr,

d.pc,

d.databaixa,

p.descricao

from

findetpc d

inner join

finpcatualizado p on (p.codcategoria = d.pc)

group by

d.pc,

d.databaixa,

p.descricao

Até aqui ta td perfeito ele funciona normalmente, perfeitamente.

O problema é que ele me retorna item a item por exemplo se eu tenho dois itens "RECEITAS" ele vai me trazer o registro duas vezes, pesquisei e descobri q a solução pra isto é o distinct, porem não consigo inserir o distinct neste select

alguém sabe se a possibilidade de colocar o sum e o distinct em um mesmo sql.

há detalhe o dinstinct funcionou sozinho sem o sum!

Bom eu utilizo o sql server 2000

Sem mais muito obrigado!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

o group by esta tirando sim os registros duplicados. alias, tirando não, mas sim agrupando na mesma soma.

em q campo exatamente aparece o "receitas"?? entenda q, por exemplo, o campo pc, se ele, na tabela vai aparecer com duas databaixa diferentes, ele vai aparecer no seu select, cada vez com uma databaixa. quanto a isso não tem o q fazer, nem com distinct, você q tem q rever o q q esta tentando fazer. se não for pra aparecer pra cada databaixa, então não ponha ela no select.

ou ainda, o seu inner join pode estar duplicando os registros. seria esse o caso??

nesse caso você podia tentar fazer alguma coisa do tipo:

select
sum(d.valor) as SomVlr, d.pc, d.databaixa, p.descricao from findetpc d inner join (Select Distinct codcategoria, descricao From finpcatualizado) as p on (p.codcategoria = d.pc) group by d.pc, d.databaixa, p.descricao[/code]

Link para o comentário
Compartilhar em outros sites

  • 0
o group by esta tirando sim os registros duplicados. alias, tirando não, mas sim agrupando na mesma soma.

em q campo exatamente aparece o "receitas"?? entenda q, por exemplo, o campo pc, se ele, na tabela vai aparecer com duas databaixa diferentes, ele vai aparecer no seu select, cada vez com uma databaixa. quanto a isso não tem o q fazer, nem com distinct, você q tem q rever o q q esta tentando fazer. se não for pra aparecer pra cada databaixa, então não ponha ela no select.

ou ainda, o seu inner join pode estar duplicando os registros. seria esse o caso??

nesse caso você podia tentar fazer alguma coisa do tipo:

select
sum(d.valor) as SomVlr, d.pc, d.databaixa, p.descricao from findetpc d inner join (Select Distinct codcategoria, descricao From finpcatualizado) as p on (p.codcategoria = d.pc) group by d.pc, d.databaixa, p.descricao

Kraks se tivesse prestado atenção na lógica eu não tinha feito um erro grotesco deste!

Kuroi, muito obrigado, vou testar o sql e posto o resultado aqui!

Valeu mesmo!

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,5k
×
×
  • Criar Novo...