Ok. Z php na razie nic nie robiłem, wyświetlanie na potem ale zacząłbym od pobrania graczy. Potem pętla po kolei dla kazdego gracza:
(i tu sie zaczynają moje wypociny)
przykładowo umiesciłem gracza o ID 5, bo nie mamy tu pętli przeciez.
SELECT *,name,team,id_player,SUM(ilosc) AS ilosc_meczow,SUM(average3) AS srednia FROM (
SELECT count(id_match) AS ilosc, SUM(average1) AS average3 FROM dt_matches b WHERE player1 = 5
UNION
SELECT count(id_match) AS ilosc, SUM(average2) AS average3 FROM dt_matches c WHERE player2 = 5
)
ranking
LEFT JOIN dt_players AS players ON players.id_player = 5
I tu mam już kilka danych które mogę wyświetlić lub wykorzystać do przeliczenia innych
name | team | id_player | ilosc_meczow | srednia
Jan | BG | 5 | 8 | 268 Działając dalej kombinowałem na dwa sposoby, ale nie wiem czy w ogóle dobra droga podążam:
SELECT name,team,id_player,SUM(ilosc) AS ilosc_meczow,SUM(average3) AS srednia,SUM(wygrane) AS wygrane_mecze FROM (
SELECT count(id_match) AS ilosc, SUM(average1) AS average3 FROM dt_matches
LEFT JOIN(SELECT count(id_match) AS wygrane FROM dt_matches WHERE score1 = legs AND player1 = 5) AS nn ON player1 = 5 WHERE player1 = 5
UNION
SELECT count(id_match) AS ilosc, SUM(average2) AS average3 FROM dt_matches
LEFT JOIN(SELECT count(id_match) AS wygrane FROM dt_matches WHERE score2 = legs AND player2 = 5) AS nn ON player2 = 5 WHERE player2 = 5
)
ranking
LEFT JOIN dt_players AS players ON players.id_player = 5
lub
SELECT name,team,id_player,SUM(ilosc) AS ilosc_meczow,SUM(average3) AS srednia,SUM(wygrane) AS wygrane_mecze FROM (
SELECT count(id_match) AS ilosc, SUM(average1) AS average3 FROM dt_matches WHERE player1 = 5
UNION
SELECT count(id_match) AS ilosc, SUM(average2) AS average3 FROM dt_matches WHERE player2 = 5
UNION
SELECT count(id_match) AS wygrane, SUM(legs) AS legi FROM dt_matches WHERE player1 = 5 AND legs = score1
UNION
SELECT count(id_match) AS wygrane, SUM(legs) AS legi FROM dt_matches WHERE player2 = 5 AND legs = score2
)
ranking
LEFT JOIN dt_players AS players ON players.id_player = 5
W obydwu powyższych otrzymuję wynik
#1054 - Nieznana kolumna 'wygrane' w field list
To na razie tyle co zrobiłem w temacie rankingu.