Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ilość komentarzy w danej wiadomości
Forum PHP.pl > Forum > Bazy danych
sf
Witam,

Mam dwie tablice :
news( `nid` ... )
comments( `cid`, `cnid`, ... )

`cnid` to oczywiście id `news`

Próbuje skonstruować zapytanie, które da mi w rezultacie wszystkie pola z `news` oraz ilość dostępnych komentarzy dla danej wiadomości (jak nie ma to 0).

  1. SELECT n.*, count(c.cnID) AS nc FROM news AS n, comments AS c GROUP BY c.cnID ORDER BY n.nID DESC LIMIT 0, 5


no i nie działa mellow.gif wyświetla mi news, w którym jest jeden, jedyny komentarz, a ilość komentarzy wypisuje, że jest równa ilości wszystkich wiadomości w bazie

Wskazówka jakaś? Help me graduated.gif
kszychu
Wskazówka: jak łączysz te tabele?
proponuje w WHERE dać nid = cnid albo użyć lewego joina z takim samym warunkiem.
sf
Where pomaga jak chodzi o poprawne zliczanie. Jednakże jeżeli nie ma ma w tabeli `comments` komentarza do jakieś wiadomości to wtedy w rezultacie te wiadomości są omijane przy wyświetlaniu i to mnie bardzo martwi winksmiley.jpg

EDIT: ahahaha zrobiłem
  1. SELECT n.*, count(c.cnID) AS nc FROM news AS n LEFT JOIN comments AS c ON (c.cnID = n.nID) GROUP BY n.nID ORDER BY n.nID DESC LIMIT 0, 5

Rkingsmiley.png
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.