Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andrea cerqueira

[Resolvido] Soma de dois left join

Recommended Posts

Estou tentando pegar o total de duas tabelas e a partir disso obter o total de cada post de cada usuario:

 

Assim:

 

SELECT display_name, a.assistir, b.resenhas, SUM(a.assistir + b.resenhas) total
FROM wp_users
  LEFT JOIN (SELECT user_ID, COUNT(*) assistir FROM wp_filmes_users WHERE user_ID <> 0 GROUP BY user_ID) a ON a.user_ID = ID
  LEFT JOIN (SELECT user_id, COUNT(*) resenhas FROM wp_comments WHERE comment_approved = 1 AND user_id <> 0 GROUP BY user_id) b ON b.user_id = ID
GROUP BY ID
ORDER BY total DESC

O problema é que quando uma das consultas do left join retorna vazio, a soma do total nao é feita, veja o resultado dessa consulta que eu postei nessa imagem abaixo...

 

Imagem Postada

 

Alguém sabe me dizer pq? Ou qual a melhor maneiro da fazer isso que eu to querendo?

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu o mesmo resultado:

 

SELECT display_name, a.assistir, b.resenhas, SUM(a.assistir + b.resenhas) total
FROM wp_users
  LEFT JOIN (SELECT user_ID, COALESCE(COUNT(*),0) assistir FROM wp_filmes_users WHERE user_ID <> 0 GROUP BY user_ID) a ON a.user_ID = ID
  LEFT JOIN (SELECT user_id, COALESCE(COUNT(*),0) resenhas FROM wp_comments WHERE comment_approved = 1 AND user_id <> 0 GROUP BY user_id) b ON b.user_id = ID
GROUP BY ID
ORDER BY total DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora foi, vlw :)

 

SELECT display_name, a.assistir, b.resenhas, SUM(COALESCE(a.assistir,0) + COALESCE(b.resenhas,0)) total
FROM wp_users
  LEFT JOIN (SELECT user_ID, COUNT(*) assistir FROM wp_filmes_users WHERE user_ID <> 0 GROUP BY user_ID) a ON a.user_ID = ID
  LEFT JOIN (SELECT user_id, COUNT(*) resenhas FROM wp_comments WHERE comment_approved = 1 AND user_id <> 0 GROUP BY user_id) b ON b.user_id = ID
GROUP BY ID
ORDER BY total DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.