GROUP BY, zdublowane wartości |
GROUP BY, zdublowane wartości |
10.02.2017, 19:24:10
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.01.2017 Ostrzeżenie: (0%) |
Witam
Temat wygląda następująco: Mam trzy tabele (Alias, Player, WeaponData), każda związana z każdą przez "Player_ID". W pierwszej tabeli "Alias", konkretna wartość (w tym przypadku 3) powtarza się dwa razy. Teraz jeżeli wyciągam wartości z trzeciej tabeli, zgrupowane wg. player_ID, dostaje podwojony wynik. Podejrzewam, że jest to związane przez wystąpienie tego samego "Player_ID" w tabeli "Alias" dwa razy. Jeżeli w tym zapytaniu pominę tabelę "Alias", to wynik otrzymuję poprawny. Tak wygląda zapytanie:
Jakieś podpowiedzi, dla czego tak się dzieje? |
|
|
11.02.2017, 13:37:27
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) |
DISTINCT po kolumnie zduplikowanej?
-------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
11.02.2017, 13:46:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 8.01.2017 Ostrzeżenie: (0%) |
Udało mi się rozwiązać ten problem, choć nie wiem czy prawidłowo.
Zapytanie:
wyświetla prawidłowy wynik. Jakoś nie do końca mogę pojąć jak to działa. W poprzednim zapytaniu wynik "SUM(WeaponData.Kills) AS Kill" był mnożony tyle razy, ile razy dane ID występowało w "Alias". Tj. prawidłowy wynik to 8, jeżeli w "Alias" dane ID występowało 2x, wynik = 16, jeżeli 3x, wynik = 24. DISTINCT po kolumnie zduplikowanej? Użycie DISTINCT nie przynosi żadnej zmiany. Ten post edytował leonw 11.02.2017, 13:54:45 |
|
|
Wersja Lo-Fi | Aktualny czas: 23.09.2024 - 07:38 |