Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przy COUNT() nie zwraca wszystkich wyników
TNT
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 2
Dołączył: 14.04.2007

Ostrzeżenie: (0%)
-----


Cześć
Mam takie oto zapytanie:
  1. SELECT c.title AS categoryTitle, i.id, i.tstamp, i.title, i.text, i.author_id, m.firstname, m.lastname, COUNT(com.id) AS totalComments
  2. FROM tl_pm_message_category AS c
  3. JOIN tl_pm_message AS i ON (i.pid = c.id)
  4. JOIN tl_member AS m ON (m.id = i.author_id)
  5. JOIN tl_pm_comment AS com ON (com.message_id = i.id)
  6. WHERE c.pid=7
  7. GROUP BY i.id

Jak mam 4 rekordy w tl_pm_message, tak zwraca mi tylko te, które mają odniesienia w tl_pm_comment (tl_pm_message.id = tl_pm_comment.message_id).
Innymi sowy:
Zwraca mi tylko te wiadomości (message), które mają jakieś komentarze (comment). W przypadku gdy wiadomość nie ma żadnego komentarza, nie jest ona brana pod uwagę.

Dlaczego tak się dzieje?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
eccocce
post
Post #2





Grupa: Zarejestrowani
Postów: 165
Pomógł: 5
Dołączył: 10.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Może niedokładnie przeczytałem, ale spróbuj ostatniego JOINa zamienić na "LEFT JOIN" - wtedy w odpowiednich kolumnach będziesz miał NULL dla wiadomości, które nie mają komentarzy.
Go to the top of the page
+Quote Post
TNT
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 2
Dołączył: 14.04.2007

Ostrzeżenie: (0%)
-----


Cytat(eccocce @ 7.06.2010, 10:17:43 ) *
Może niedokładnie przeczytałem, ale spróbuj ostatniego JOINa zamienić na "LEFT JOIN" - wtedy w odpowiednich kolumnach będziesz miał NULL dla wiadomości, które nie mają komentarzy.

Kurka, działa. A jak wcześniej próbowałem to coś się krzaczyło. Tak czy siak - dzięki (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Method
post
Post #4





Grupa: Zarejestrowani
Postów: 177
Pomógł: 6
Dołączył: 14.01.2003
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


(IMG:style_emoticons/default/offtopic.gif) czemu jak chcesz miec licznik z jednej tabelki to robisz joina? może zapytanie efektowne ale nie efektywne (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
TNT
post
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 2
Dołączył: 14.04.2007

Ostrzeżenie: (0%)
-----


Cytat(Method @ 23.06.2010, 11:17:58 ) *
(IMG:style_emoticons/default/offtopic.gif) czemu jak chcesz miec licznik z jednej tabelki to robisz joina? może zapytanie efektowne ale nie efektywne (IMG:style_emoticons/default/smile.gif)

Co propnujesz w zamian? (IMG:style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 12:21