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.
Pergunta
CleberRach
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 para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados