Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Liczenie wpisów w kategorii
Forum PHP.pl > Forum > Bazy danych > MySQL
unw
Witam. Mam taki problem.

Posiadam dwie tabele:

Jedna z nich to:

tagi

Układ:
  1. ID Nazwa Slug
  2. 1. Testowa testowa


druga tabela to: tagi_id

układ:
  1. id_kategorii id_wpisu
  2. 1 5
  3. 1 6



teraz chcę uzyskać taki efekt: Wyświetlić wszystkie kategorie i w nawiasie liczba wpisów w każdej jednej kategorii

  1. SELECT id_kategorii, count(id_wpisu) AS id_post_count FROM tagi_id GROUP BY id_kategorii



Wszystko pięknie mi zlicza. Wyświetla mi tutaj ID kategorii. W jaki sposób połączyć zapytanie, aby wyświetliło mi nazwę każdej kategorii z tabeli "tagi"a obok liczbę wpisów w nawiasie ?
nospor
zwykle LEFT JOIN do tabeli ktorej potrzebujesz
unw
a coś więcej? kombinuję i mi nie wychodzi..
nospor
Ale tu nie ma co kombinowac. Dodajesz LEFT JOIN tak jak pokazali w manualu mysql i dziala.

To moze pokaz jak kombinujesz.
unw
  1. SELECT tagi_id.id_kategorii, tagi.nazwa, COUNT(id_wpisu) AS post_count
  2. FROM tagi_id
  3. INNER JOIN tagi ON tagi_id.id_kategorii = tagi.id
  4. GROUP BY tagi_id.id_kategorii
  5. ORDER BY post_count DESC


Zamiast left join urzyłem INNER JOIN. Wyświetla prawidłowo.

Temat uważam za zamknięty.
nospor
Nie bardzo rozumiem na czym mialo polegac nieprawidlowe dzialanie z LEFT JOIN zamiast INNER JOIN. W tym wypadku nie powinno byc zadnej roznicy.
unw
racja smile.gif No cóż, początkujący w tych klockach smile.gif Teraz już wiem, zwracam honor biggrin.gif
Pyton_000
Różnica będzie jak nie będzie żadnego wpisu w kategorii. Wtedy zamiast 0 nie będzie kategorii w wynikach.
Chyba że to Ci nie przeszkadza ew. nie będzie takiej sytuacji.

Warto poznać różnice pomiędzy Join, Left Join i Right Join.
nospor
Pyton pisalem o braku roznicy w tym przypadku gdy on leci najpierw do tabeli laczacej a dopiero potem do slownikowej. Zalozylem, ze raczej nie bedzie sytuacji ze czegos nie ma w slowniku jak jest w laczacej wink.gif

A ty juz nie pisz tylko sie szykuj do wyjscia. Bede 15 minut wczesniej i nie chce mi sie stac i marznac wink.gif
Pyton_000
Jepiej wyjaśnić żeby potem nie było płaczu smile.gif

PKP jest ogrzewane więc nie bój żaby biggrin.gif
unw
Dzieki za wytłumaczenie Pyton, zdaje się, że już kiedyś mi pomagałeś smile.gif

No cóż, raz jeszcze dzięki chłopaki smile.gif
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.