Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola estou desenvolvendo com intuito de estudo um sistema que tem um ranking e parrei em uma situação que travou tudo na cabeça,
tenho 2 tab (agenda e uma ranking) eu pensei em por os dados na agenda (time-a time-b gol-a gol-b v - d- e ) e somente somar e contar com php na hora de exibir.
mas quando faço isso não consigo especificar a soma quando o time cai no enfrentamento (expl. time-a Arsenal x time-b PSG ) se no proximo confronto o Arsenal cair como timeb não consigo pegar os valores dele estou tentando assim.
SELECT t.nome_time, COUNT(v_a + v_b), SUM(gola + golb)
FROM agenda a
INNER JOIN times t
ON a.id=t.id
WHERE T.nome_time='Sao Paulo'
e o resultado que ele me traz não é o correto como podem ver na imagem deveria ser 9 gols e 2 vitorias, se alguem puder ajudar agradeço ou dar uma nova ideia sobre a logica

>
1 hora atrás, Motta disse:
Tente instanciar o time duas vezes
SELECT t.nome_time, COUNT(v_a + v_b), SUM(gola + golb)
FROM agenda a
INNER JOIN times ta ON a.timea=ta.id and Ta.nome_time='Sao Paulo'
INNER JOIN times tb ON a.timeb=tb.id and Tb.nome_time='Sao Paulo'
Fiz mais ele retorna vazio e multiplicou os SUM
Devo ter entendido mal o modelo.
>
1 hora atrás, Motta disse:
Devo ter entendido mal o modelo.
A sua ideia ta certa, tambem achei que ia funcionar kkk oque esta me quebrando é que quero usar a tabela agenda para gerenciar o ranking com php quando exibir assim ficaria mais simples e pratico pois o usuário add o jogo na tabela, quando começa a partida já pego dela mesma e se precisar editar um jogo que já passou fica já atualiza tudo de uma vez, o problema é que travei nessa parte. na tabela as colunas timea e timeb são chaves estrangeiras que tem a possibilidade de um (time que caiu na coluna timea) mais pra frente cair na coluna timeb por isso tentei amarrar pelo nome do time que vem da outra tabela .
meu complicado pra explica por isso se tiver uma outra logica pra indicar agradeço como é para estudo não preciso ficar preso em um prospecto

Tente instanciar o time duas vezes
SELECT t.nome_time, COUNT(v_a + v_b), SUM(gola + golb)
FROM agenda a
INNER JOIN times ta ON a.timea=ta.id and Ta.nome_time='Sao Paulo'
INNER JOIN times tb ON a.timeb=tb.id and Tb.nome_time='Sao Paulo'