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

SUM anula o DISTINCT?


ProgramadorPHP

Pergunta

Olá Galera

Estou fazendo uma pesquisa no BD com BETWEEN e SUM faço tb DISTINCT de um campo pois por acidente tenho dados repetidos, eu já corrigi os dados não vao mais se repetir, mas como são muitos dados qro controlar pelo select e não ter q excluir o repetidos agora. Só que ao fazer a pesquisa e colocar o group by ele repeti a data mesmo com o distinct, a pesquisa é a seguinte:

SELECT DISTINCT(cv.data) ,a.name,SUM(c.pedidos) FROM tab1 as cv

LEFT JOIN tab2 as a ON a.controle_Id=cv.id

LEFT JOIN tab2_has_tab3 AS b ON b.Campaign_id = a.id

LEFT JOIN tab3 AS c ON c.id = b.CampaignStats_id

WHERE a.name="Nome de pesquisa"

and c.startDate BETWEEN "2010-08-01" AND "2010-08-15"

GROUP BY a.name ORDER BY c.startDate

O que acontece é que eu tenho a data do dia "2010-08-13" duas vezes, quando eu faço esta pesquisa sem o GROUP BY e SUM(c.pedidos), não é listada a data repetida duas vezes mas é só eu colocar GROUP BY e SUM(c.pedidos), que é somada a data repetida. alguém pode me dizer onde estou errando???

RESUMINDO: eu quero mesmo é que some um registro por dia quando o a.name="Nome de pesquisa".

Não pode ser impossível.

Ajudinha aí..

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

você ta querendo somar um campo repetido porem que retorne em uma unica linha?

Me de mais detalhe sobre os campo e valores desejados para retornar...

Mais segue uma visão do que imaginei:

ao invém de utilizar o sum() no select do distinct, some o campo num select separado como segue o exemplo abaixo.

SELECT DISTINCT(cv.data) ,a.name, 'total'=(select SUM(c.pedidos) from tab3 where c.startDate BETWEEN "2010-08-01" AND "2010-08-15")

FROM tab1 as cv

LEFT JOIN tab2 as a ON a.controle_Id=cv.id

LEFT JOIN tab2_has_tab3 AS b ON b.Campaign_id = a.id

LEFT JOIN tab3 AS c ON c.id = b.CampaignStats_id

WHERE a.name="Nome de pesquisa"

and c.startDate BETWEEN "2010-08-01" AND "2010-08-15"

GROUP BY a.name ORDER BY c.startDate

abraços

Leandro

Editado por lramos7
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...