Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obliczanie ilosci rekordow w zapytaniu
Forum PHP.pl > Forum > Bazy danych > MySQL
art
Witam ... mam następującą sytuację:

W bazie danych posiadam tabele z uzytkownikamni (id,login,haslo,plec) oraz druga tabelę z fotografiami przez nich dodanymi (id, iduzytkownika, opis, tytul itp)

I teraz tak chcialbym na stronie wyswietlic login uzytkownika a obok niego ilosc fotek jakie dodal dany uzytkownik do bazy... wiem ze moge to zrobic w malo elegancki sposob pobierajac najpierw z tabeli użytkowników loginy a pozniej w pętli wybrać należące do nich fotki i zliczyć... ale jeśli wyswietlam na stronie 100 uzytkownikow to taka metoda generuje mi 101 zapytan biggrin.gif ... chcialbym tego uniknąć... prosze o pomoc w stworzeniu takiego zapytania ktore pobeirajac dane z tabeli uzytkownikow odrazu sprawdzi ile dla danego uizytkownika w tabeli z fotkami jest rekordow...
Adiasz
Sprubuj:
  1. SELECT
  2. users.login, COUNT(*)
  3. FROM users
  4. JOIN foto ON users.id = foto.iduzytkownika
  5. GROUP BY users.login
art
Dzieki, pomogło tylko że jest jeden problem... jesli ktos nie ma zadnej fotografii to jego loginu nie wyswietla wcale... czy jest na to jakis sposób?
nospor
zamiast join uzyj left join
art
tak tez zrobilem i faktycznie pokazali sie uzytkownicy ktorzy nie maja fotek dodanych tylko ze wtedy count zwraca mi 1 ... mimo iz oni nie maja nic... ale poradzilem sobie z tym problemem tak ze w selekcie wybralem pole opis z tabeli z fotkami i jesli gdzies jest ono puste to oznacza ze ten uzytkownik nie ma foty...

dzieki serdeczne
Pozdrawiam
spenalzo
  1. ... COUNT(foto.id) ...

ew.
  1. ... COUNT(DISTINCT foto.id) ...



Kiepski to nawyk wstawianie gdzie sie da gwiazdki zamiast ręcznie wpisywać nazwy pól winksmiley.jpg
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.