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

Problemas com Subquery


gustavocassoto

Pergunta

Olá pessoal, eu estou desenvolvendo um sistema onde o usuário irá cadastrar campanhas de marketing e criará urls vinculadas a cada campanha, assim contará quantos cliques sua campanha terá e o total de vendas o link que ele fez terá também!

Porém estou fazendo uma listagem destas campanhas e a subquery que mostra o valor e o total de cliques ficou muito pesada, e se eu utilizo o join para melhorar o desempenho dentro delas o resultado do count e do sum ficam todos iguais.

Alguém poderia me dar uma ajuda?

segue o codigo

SELECT 
    `campanhas` . *,
    (SELECT 
            COUNT(idhistorico_campanha)
        FROM
            historico_campanha
        WHERE
            idhistorico_campanha = idcampanha) AS `total_compras`
FROM
    `campanhas`
        LEFT JOIN
    `campanhas_hist` ON historico_campanha.idhistorico_campanha = campanhas.idcampanha
        LEFT JOIN
    `compras` ON compras.idcompra= historico_campanha.idcompra
GROUP BY `idcampanha`
ORDER BY `data_campanha` DESC

Agora o exemplo do resultado:

Codigo Campanha Titulo Data Cadastro Total compras

941, 'Facebook/Strokes', '2014-06-03 11:02:42', '7473'
940, 'Facebook/Stones', '2014-06-03 11:02:30', '7473'
Deveria ser

Agora o exemplo do resultado:

Codigo Campanha Titulo Data Cadastro Total compras

941, 'Facebook/Strokes', '2014-06-03 11:02:42', '344'
940, 'Facebook/Stones', '2014-06-03 11:02:30', '893'
Editado por gustavocassoto
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Tente assim:

SELECT c. *, hc.total_compras
FROM `campanhas` c
LEFT JOIN (SELECT idhistorico_campanha, COUNT(idhistorico_campanha) AS `total_compras`
FROM historico_campanha
GROUP BY idhistorico_campanha) hc ON hc.idhistorico_campanha = c.idcampanha
ORDER BY `data_campanha` DESC
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,3k
×
×
  • Criar Novo...