Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysq] liczenie rekordów.
Forum PHP.pl > Forum > Bazy danych > MySQL
acztery
mam takie zapytanie

  1. SELECT *, count(files.Time) AS value
  2. FROM `user` INNER JOIN `files` ON `files`.`UserId`=`user`.`user_id`
  3. GROUP BY user_id


powinnien wyswetlic liste wszystki userów i kolumne z ilosc rekordów w innej tabeli

ale pokazuje tylko tych userów ktorzy maja jakie rekordy w tabeli files a jak ktos nie ma w ogole go nie pokazuje jak zrobic aby pokazywal ze sie ma np 0
spryciula
przede wszystkim, zrób left joina(lub right joina)

  1. SELECT *, count(ifnull(files.Time,0)) AS value
  2. FROM `user` LEFT JOIN `files` ON `files`.`UserId`=`user`.`user_id`
  3. GROUP BY user_id


a żeby pokazywał licznik 0 w przypadku gdy taki user nie ma żadnego wpisuyj funkcji ifnull()
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.