Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sumowanie danych z różnych tabel
Darnok017
post 20.02.2014, 14:46:10
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 7.05.2012
Skąd: Duczki

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


Cześć wszystkim,

Mam taki problem, otóż:

Mam stworzone 5 tabel. Każda z nich nazywa się wyscig1, wyscig2 itd.
Każda tabela zawiera nazwę zawodnika jako Nazwa oraz Ilość zdobytych punktów w danym wyścigu jako Punkty.

Chciałbym teraz napisać zapytanie, które zsumuje punkty każdego zawodnika ze wszystkich tabel i wyświetli mi tabelę, w której będzie widoczna Nazwa zawodnika, suma punktów ze wszystkich wyścigów i wszystko posortowane będzie od najmniejszej ilości punktów do największej.

Próbowałem już kilku sposobów jednakże nie potrafiłem sobie poradzić. Przekopałem trochę neta, ale być może źle wpisuje hasło do przeglądarki, aby coś znaleźć.

Z góry bardzo dziękuję za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
redeemer
post 20.02.2014, 14:54:12
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Masz błędną strukturę bazy danych, tzn. zamiast 5 tabel stwórz jedną i dodaj kolumnę określającą numer/id wyścigu.


--------------------
Go to the top of the page
+Quote Post
Darnok017
post 20.02.2014, 19:34:28
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 7.05.2012
Skąd: Duczki

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


Domyślałem się, że może być problem ze strukturą, jednak myk jest taki, iż wyświetlam te tabele na stronie www.

Mam 5 buttonów odpowiedzialnych za każdy z wyścigów. Pod każdym buttonem jest funkcja wywołująca konkretną tabelę na stronie.

Został mi button 6, który miałby wyświetlić tą ostatnią tabelę z sumą.

Czy jest jakaś inna możliwość? Czy pozostaje mi przebudowa bazy i funkcji na stronie?

Dobra, zrobiłem jedną tabelę.
Jest ID , ID_wyscigu , numer zawodnika i punkty.

Jak teraz rozwiązać problem sumowania?

Ten post edytował Darnok017 20.02.2014, 15:02:03
Go to the top of the page
+Quote Post
mmmmmmm
post 20.02.2014, 19:40:49
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


  1. SELECT numer_zawodnika, sum(punkty) FROM wyscigi GROUP BY numer_zawodnika
Go to the top of the page
+Quote Post
Pyton_000
post 20.02.2014, 19:40:55
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. SELECT SUM(pkt) FROM wyscigi GROUP BY zawodnik


Ten post edytował Pyton_000 20.02.2014, 19:41:29
Go to the top of the page
+Quote Post
Darnok017
post 20.02.2014, 20:00:15
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 7.05.2012
Skąd: Duczki

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


  1. SELECT `Nazwa`, SUM(`Punkty`) AS Punkty FROM wyscig GROUP BY `Punkty`;


Mam coś takiego, jednak źle liczy. Wychodzą mi sumy 5, 10, 15, 20, 25 itd. A z liczenia "na piechote" wychodzi zupełnie coś innego.

Już mam.. nie wiem dlaczego, ale grupując po punktach liczy zupełnie inaczej niż grupując po numerach zawodników.

Bardzo dziękuję za pomoc! smile.gif

Ten post edytował Darnok017 20.02.2014, 20:03:27
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 21:49