Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Count z kilku tabel
Siner
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

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


Chcę zliczyć ilość wystąpień rekordów z 3 różnych tabel. Przykład - zliczyć ile użytkownik ma komentarzy, głosów, serwisów. Co mi przyszło do głowy od razu to.
  1. SELECT users.id, COUNT( comments.id ) AS comments_count, COUNT( votes.id ) AS votes_count, COUNT( services.id ) AS service_count
  2. FROM users, comments, votes, services
  3. WHERE users.id =1 AND comments.user_id = users.id AND votes.user_id = users.id AND services.author_id = users.id
  4. GROUP BY users.id

Ale w każdym z tych 3 wierszy z count mam jedną liczbę i to nie koniecznie jakąś konkretną. Macie jakieś sposoby na rozwiązanie togo problemu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


  1. SELECT COUNT(c.id) AS ilosc_komentarzy,
  2. COUNT(v.id) AS ilosc_glosowan
  3. FROM users u
  4. LEFT JOIN comments c ON (c.user_id = u.id)
  5. LEFT JOIN votes v ON (v.user_id = u.id)
  6. GROUP BY u.id

Ja bym próbował w ten sposób

[edit]
powyższy sposób jest błędny.

Ten post edytował sowiq 6.03.2009, 11:59:16
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 06:44