Consulta com group by por data de 2 tabelas
E ai pessoal estou com uma dificuldade se alguém puder ajudar posta ai.
Tenho 3 tabelas
banners, impressoes, cliques
impressoes e cliques pertecem a tabela banners, ou seja, tem a chave extrangeira de banners
nas tabelas impressoes e cliques eu tenho um campo data de criação
então funciona assim, para cada vez que o banner aparece, eu crio um registro na tabela impressoes com a data da inserção(apenas dia, mes e ano)
e a cada vez que alguem clica no banner eu crio um registro na tabela cliques com a data da inserção
Agora preciso fazer uma consulta que conte as impressoes e cliques dos banners agrupados por data
Como tenho a data em duas tabelas(impressoes e cliques) o MySQL separa o agrupamento mostrando separadamente o count de impressões e o count de cliques por data
Por exemplo, se tiver uma impressao e um clique para o dia 10/06/2010, a consulta retorna 2 linhas, uma para a contagem de impressões e a outra para cliques
Preciso que a consulta retorne apenas 1 linha com a quantidade de impressões e cliques para aquela data.
O SELECT que estou fazendo é parecido com este(só mudei os nomes das tabelas para ficar mais fácil de entender):
SELECT
Impressao.data_criacao,
Clique.data_criacao,
COUNT(DISTINCT(Impressao.id)) AS qtd_impressoes,
COUNT(DISTINCT(Clique.id)) AS qtd_cliques
FROM banners AS Banner
INNER JOIN impressoes AS Impressao ON (Impressao.banner_id = Banner.id)
INNER JOIN cliques AS Clique ON (Clique.banner_id = Banner.id)
WHERE
AND DATE(Impressao.data_criacao) BETWEEN '2010-06-01' AND '2010-08-30'
AND DATE(Clique.data_criacao) BETWEEN '2010-06-01' AND '2010-08-30'
GROUP BY
DATE(Impressao.data_criacao),
DATE(Clique.data_criacao)Discussão (3)
Carregando comentários...