Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Consulta em duas tabelas com count e where


Question

Boa noite, possuo duas tabelas, tabela Times (Times_Cod, Times_Nome) e tabela Apostas (Aposta_Cod, Aposta_TimeCod, Aposta_Resultado). Preciso fazer um select que retorne os dados de cada time com a soma de apostas com acerto (A). Se usar o seguinte código: 
(SELECT t.*, COUNT(a.Aposta_Resultado) from tbl_times t LEFT JOIN tbl_apostas a on t.Times_Cod = a.Aposta_TimeCod WHERE a.Aposta_Resultado = 'A' GROUP BY t.Times_Cod)
Retorna corretamente, porém, não exibe os times que não possuem nenhuma aposta correta. Se retirar a cláusula where, (SELECT t.*, COUNT(a.Aposta_Resultado) from tbl_times as t LEFT JOIN tbl_apostas a on t.Times_Cod = a.Aposta_TimeCod GROUP BY t.Times_Cod) retorna a soma de todos os resultados, acertos e erros.

Ou seja, preciso que retorne todos os times com a quantidade de acertos, caso não tenha nenhum acerto, que exiba quantidade zero ou mesmo null. 

Obrigado

Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Tenta assim:

SELECT t.*, SUM(IF(a.Aposta_Resultado = 'A', 1, 0)) AS Resultado
FROM tbl_times t 
LEFT JOIN tbl_apostas a on t.Times_Cod = a.Aposta_TimeCod 
GROUP BY t.Times_Cod

 

Link to post
Share on other sites
  • 0
1 hora atrás, Denis Courcy disse:

Tenta assim:

SELECT t.*, SUM(IF(a.Aposta_Resultado = 'A', 1, 0)) AS Resultado
FROM tbl_times t 
LEFT JOIN tbl_apostas a on t.Times_Cod = a.Aposta_TimeCod 
GROUP BY t.Times_Cod

 

Funcionou perfeitamente, muito obrigado.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      148692
    • Total Posts
      644524
×
×
  • Create New...