Mam taki oto problem:
Są trzy tabele:
Gracz(numer,nazwa)
Punkty(id,punkty,id_gracz)
Stat(id,punkty_2,punkty_4,id_gracz)
Mam takie danew nich:
Gracz(1,'Damian'),(2,'Wojtek'),(3,'Mateusz'),(4,'Marcin')
Punkty(1,12,1)(2,20,1) (3,8,2)(4,22,2) (5,16,3)(6,24,3) (7,10,4)(8,10,4)
Stat(1,51,11,1)(2,55,11,1) (3,59,14,2)(4,57,19,2) (5,43,17,3)(6,69,9,3) (7,59,10,4)
Uwaga! w tabeli Stat jest tylko jeden rekord dla gracza id=4 , dla pozostałych po 2 . Natomiast w tabeli punkty ten sam gracz ma dwa rekordy tak samo jak pozostali !
I teraz tak, potrzebuję pogrupować wyniki zapytania po nazwie gracza.
Wykonując to zapytanie:
SELECT gracz.nazwa, stat.punkty_2,stat.punkty_4, sum(punkty.punkty) AS pkt FROM gracz INNER JOIN punkty ON gracz.numer = punkty.id_gracz INNER JOIN stat ON (punkty.id_gracz = stat.id_gracz) AND (gracz.numer = stat.id_gracz) GROUP BY gracz.nazwa,stat.punkty_2,stat.punkty_4
otrzymuję wyniki podwójnie, oprócz gracza Marcin, który w tabeli Stat ma tylko jeden rekord:
Damian,51,11,32
Damian,55,11,32
Marcin,59,10,20
Mateusz,43,17,40
Mateusz,69,9,40
Wojtek,59,19,30
Wojtek,59,14,30
dlaczego ?
proszę o podpowiedź,
bo domyślam się że w moim zapytaniu jest byk, albo czegoś tam jeszcze brakuje,,
dzięki