![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Cześć !
Jako, że raczkuję w bazach danych MySQL zrobiłem w ramach ćwiczeń tabelę, która posiada ID | USER_ID | NICK | PKT ID > primary key i auto increment USER_ID > ID gracza, który bierze udział w turnieju (wpisywana ręcznie, może się powtarzać) NICK > wiadomo PKT > Ilość pkt, które zdobył w jednej z faz Mój problem polega na tym iż USER_ID powtarza mi się i chcę zsumować temu samemu użytkownikowi z turnieju jego wszystkie pkty na podst. USER_ID i wypisać wszystkich użytkowników, tak żeby USER_ID już się nie powtarzało, a PKT były zsumowane. Może trochę zawile, ale myślę, że zrozumiecie. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
USER_ID jest powtarzane w jednej tabeli jeśli tak to, źle zbudowaną masz bazę a do zmian liczby pkt używasz mysql update
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
O komendzie UPDATE wiem, ale co, gdy już jest baza zbudowana ? Jest na to jakiś ratunek ? (Pytam się, gdyż lepiej zrobić błąd w ćwiczeniach niż w praktyce).
Co do USER_ID zrobic w drugiej tabelce i wtedy powiązać z nickiem z obu tabel ?(Myśląc logicznie zaoszczędzi się miejsce ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
no to tak jak powiedziałem trzeba unikać takich sytuacji, żeby powielać klucze np poprzez ustawienie dla rekordów UNIQUE KEY , a USER_ID z tabeli 1 łączysz z tabelą 2 relacją, patrząc na strukturę 1 tabeli właśnie za pomocą tego pola
![]() ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ale to nie rozwiązuje jego problemu. Dla niego rozwiązaniem będzie GROUP BY + SUM
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
masz oczywiście rację, ale jak sam autor napisał się dopiero uczy, a robienie "syfu" w bazie nauczy go złych praktyk choć oczywiście słuszna uwaga, że to rozwiązuje jego problem
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 7.07.2025 - 00:25 |