![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 12.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam następujacy problem.
Mam dwie tabele - uzytkownicy (w której przechowywane jest id, nazwa oraz kontrolka czy użytkownik może dostawać pochwały i nagany) oraz wyniki (w której przechowywane są id użytkownika oraz kontrolki - czy użytkownik otrzymał pochwałę czy naganę). Każda informacja o każdej pochwale lub naganie znajduje się w osobnym rekordzie. tabela uzytkownicy user_id, nazwa, uwzgledniaj 1, user1, 1 2, user2, 0 3, user3, 1 4, user4, 1 tabela wyniki user_id, pochwala, nagana 1, 1, 0 1, 0, 1 1, 1, 0 4, 1, 0 3, 0, 1 4, 0, 1 Na podstawie tych dwóch tabel chciałbym otrzymać coś takiego: user1: 2 user4: 0 user3: -1 Czyli zliczyć różnicę pochwał i nagan każdego użytkownika (który może pochwały i nagany otrzymywać) i posortować użytkowników wg tych danych malejąco. Niestety nie wiem jak to zrobić. Proszę o pomoc. Pozdrawiam, Robert Zetakowski |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
LEFT jest akurat tu niepotrzebny.
Da się to wykonać jednym zapytaniem. Np. takim:
EDIT: 2 DESC Zwykły JOIN pokaże tylko użytkowników, którzy dostali pochwałę lub naganę. Ten post edytował mmmmmmm 12.09.2013, 10:26:32 |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
LEFT jest akurat tu niepotrzebny. Racja, nie zwróciłem uwagi, że na wyjściu ~robertzet pomija user2, który nie ma żadnej pochwały/nagany. PS: Mogłeś zostawić przyjemność złożenia zapytania autorowi, a nie podawać gotowe rozwiązanie na tacy. PS2: Skoro mają być tylko użytkownicy z pochwałami/naganami to chyba wydajniej byłoby pobierać dane z wyniki i joinować użytkowników.
Powód edycji: [phpion]:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 00:10 |