Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie zwraca 1 rekord, mimo że powinien 2.
Forum PHP.pl > Forum > Przedszkole
pawel.ad
Witam.

Mam bazę danych gdzie zapisuje statystyki ze szkolnej ligi koszykarskiej. Wygląda to mniej więcej tak(w końcowej wersji nie ma team.leader_id i player.dob):



Stworzone są 2 rekordy w game_scores gdzie player_id jest takie same i wynosi 1. Chce wyświetlić statystyki gracza we wszystkich meczach, i stworzyłem takie zapytanie:
  1. SELECT `teams`.`name` AS t_name, `game_scores`.`PTS` AS gs_PTS, `game_scores`.`AST` AS gs_AST, `game_scores`.`REB` AS gs_REB, `game_scores`.`ST` AS gs_ST, `game_scores`.`BS` AS gs_BS, `game_scores`.`BA` AS gs_BA, `game_scores`.`2PM` AS gs_2PM, `game_scores`.`2PA` AS gs_2PA, `game_scores`.`3PM` AS gs_3PM, `game_scores`.`3PA` AS gs_3PA, `game_scores`.`FTM` AS gs_FTM, `game_scores`.`FTA` AS gs_FTA, AVG(`game_scores`.`PTS`) AS avg_PTS, AVG(`game_scores`.`REB`) AS avg_REB, AVG(`game_scores`.`AST`) AS avg_AST, AVG(`game_scores`.`ST`) AS avg_ST, AVG(`game_scores`.`BS`) AS avg_BS, AVG(`game_scores`.`BA`) AS avg_BA, SUM(`game_scores`.`2PM`) AS sum_2PM, SUM(`game_scores`.`2PA`) AS sum_2PA, SUM(`game_scores`.`3PM`) AS sum_3PM, SUM(`game_scores`.`3PA`) AS sum_3PA, SUM(`game_scores`.`FTM`) AS sum_FTM, SUM(`game_scores`.`FTA`) AS sum_FTA, `games`.`game_date` AS g_date, (SELECT `teams`.`name` FROM `teams` WHERE `teams`.`id` = `games`.`host_id`) AS hostname, (SELECT `teams`.`name` FROM `teams` WHERE `teams`.`id` = `games`.`guest_id`) AS guestname
  2. FROM `games`, `players`
  3. INNER JOIN `game_scores` ON `players`.`id` = `game_scores`.`player_id`
  4. INNER JOIN `teams` ON `players`.`team_id` = `teams`.`id`
  5. WHERE `players`.`id` = '$id'
  6. ORDER BY `games`.`game_date`


$id jest pobierane metodą $_GET i wynosi 1.

Co robię źle, ponieważ wyświetlony zostaje wynik tylko z pierwszego meczu?
Siedzę nad tym już ponad 2h zmieniając kod, i próbując żeby wyszło, ale nie udaje mi się...

EDIT:
BTW. AVG(`game_scores`.`PTS`) zwraca średnią punktową z dwóch meczy... ;/
nospor
no a pokaz kod, ktorym pobierasz te dane
pawel.ad
Na razie próbuję to w phpMyAdmin zrobić jako z "Zapytanie przez przykład". Jeżeli tam wychodzi tylko jeden rekord, to przy pobieraniu danych tym bardziej...(poprawcie mnie jeśli się mylę)

A w php to:

http://wklej.org/id/294180/


EDIT:
Tyle czasu zmarnowane przez własną głupotę...
Zamiast GROUP BY, dałem ORDER BY... i tyle... wszystko inne dobrze zrobiłem...
Można wrzucić do kosza;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.