Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Złączenie wszystkich rekordów w jeden
shark121
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 5
Dołączył: 31.03.2008

Ostrzeżenie: (0%)
-----


Witam, staram się stworzyć pewien system meczowy dla gry multiplayer oparty o bazę danych MySQL. Pierwsza tabela zawierająca dane spotkania ma taką postać:

id | match_id | team1_id | team2_id | date | event_id | group_id

Druga to szczegółowe dane na temat wyników na każdej mapie i ma ona taką postać:

id | match_id | map_name | score_team1 | score_team2

Doszedłem do wniosku, że tabele te muszą być zbudowane właśnie w ten sposób, ponieważ liczba map dla danego spotkania może być różna (od 1 do nawet 5). I teraz mam pewien problem, a mianowicie jednym zapytaniem chciałbym wyciągnąć wszystkie dane meczu oraz wynik ogółem, kombinowałem coś z union select ale nie za bardzo mi to wychodzi. Na tę chwilę udało mi się jedynie napisać zapytanie wyświetlające wszystkie mapy jako oddzielne rekordy, a ja chciałbym żeby to wszystko zamieniło się w jeden wspólny.

  1. SELECT M.`id` AS `match_id` , M.`team1_id`, M.`team2_id`, M.`date`, M.`event_id`, M.`group_id`, M.`hltv`, M.`stream`, MP.`map_name`, MP.`score_team1`, MP.`score_team2` FROM `matches` M, `matches_maps` MP WHERE M.`id` = MP.`match_id`
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trafas
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

Ostrzeżenie: (0%)
-----


Sprawdź sobie wynik poniższego zapytania:

  1. SELECT
  2. m.id AS 'Id meczu',
  3. m.team1_id AS 'Id drużyny 1',
  4. sum(mm.team1_score) AS 'Wynik drużyny 1',
  5. m.team2_id AS 'Id drużyny 2',
  6. sum(mm.team2_score) AS 'Wynik drużyny 2'
  7. FROM
  8. mecze m
  9. JOIN mecze_mapy mm ON mm.mecz_id = m.id
  10. GROUP BY m.id


Dla danego meczu sumuje ono wszystkie wyniki dla team 1 i 2.

O takie coś Ci chodziło ?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 08:42