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'