Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Dodawanie punktów w zapytaniu
Forum PHP.pl > Forum > Bazy danych > MySQL
Bejkrools
Mam tabele user w której mam miedzy innymi pola:
-imie
-nazwisko
-magazyn
-rola
-pkt

Chciałbym, żeby w zapytaniu sumowane były pola 'pkt' z rekordami z tymi samymi wartościami 'magazyn' jeżeli wystę[uje konkretna wartość 'rola'.

Zrobiłem takie zapytanie, ale chyba coś jest nie tak :-(

  1. $zapytanie = mysql_query("SELECT magazyn, sum(pkt) AS suma_pkt FROM user GROUP BY magazyn WHERE rola = 'uprawniony_poz_1' OR rola = 'uprawniony_poz_2'");


Wyświetla się błąd:

Cytat
mysql_num_rows() expects parameter 1 to be resource, boolean given in [...]
w
  1. if(mysql_num_rows($zapytanie) > 0)
mmmmmmm
WHERE musi być przed GROUP BY.
Bejkrools
OK, faktycznie, mój błąd. A teraz dodajmy do tego jeszcze jeden problem :-(

Jest sobie tabela USER:
-id
-imie
-nazwisko
-magazyn
-rola
-pkt

I jeszcze jedna tabela SALON:
-id
-magazyn
-miasto
-ulica

Działające zapytanie:

  1. SELECT magazyn, sum(pkt) AS suma_pkt FROM user WHERE rola = 'uprawniony_poz_1' OR rola = 'uprawniony_poz_2' GROUP BY magazyn


Działające wyświetlanie wyniku zapytania:

  1. echo $u['magazyn']." (".$u['suma_pkt']." pkt.)";


Tylko zależałoby mi, żeby zamiast $u['magazyn'] wyświetlałoby mi pobraną z tabeli SALON nazwę miasta, z rekordu, w którym magazyn jest równy $u['magazyn']. Czytałem trochę o tabelach relacyjnych, ale za cholerę nie wiem jak to ugryźć w tym przypadku.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.