Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql]Bledy przy COUNT
Forum PHP.pl > Forum > Bazy danych
Sh4dow
  1. SELECT p.* , u.name AS name, u.podpis, COUNT( t.id ) AS tematy, COUNT( pp.id ) AS posty, l.name AS poziom
  2. FROM forum_post AS p
  3. LEFT JOIN forum_post AS pp ON ( pp.user_id = p.user_id )
  4. LEFT JOIN forum_temat AS t ON ( t.user_id = p.user_id )
  5. LEFT JOIN users AS u ON ( u.id = p.user_id )
  6. LEFT JOIN level AS l ON ( l.id = u.level )
  7. WHERE p.temat_id = '1'
  8. GROUP BY p.id
  9. ORDER BY t.czas ASC


Cale zapytanie dziala poprawnie poza polami gdzie liczone sa posty i tematy. w tabeli forum_post i forum_temat w sumie jest 12 rekordow i tyle pokazuje pole tematy i posty.
Blad jest taki ze jesli juz to kazdy powinien pokazac cyfre 6, zreszta nie wszystkie tematy i posty pochadza od jednego usera.
akubiczek
Wyjaśnij co ci dokładnie nie działa.

COUNT(expr) Returns a count of the number of non-NULL values in the rows retrieved by a SELECT statement

BTW nie boisz się robić tak 4xLEFT JOIN questionmark.gif?
spenalzo
Cytat(akubiczek @ 2004-11-04 01:13:05)
Wyjaśnij co ci dokładnie nie działa.

COUNT(expr) Returns a count of the number of non-NULL values in the rows retrieved by a SELECT statement

BTW nie boisz się robić tak 4xLEFT JOIN questionmark.gif?

Chyba wyjaśnił co mu nie działą tongue.gif Poza tym, czego sie bać w 4x Join? Nie za bardzo widze sens tego posta blink.gif

Shadow: zapytanie wygląda OK, spróbuj COUNT (DISTINCT pole).
akubiczek
Jak się wyśpię, to przemyslę to co napisałem i może wtedy rozwinę myśl biggrin.gif
Sh4dow
Dzieki spenalzo, DISTINCT pomogl (skleroza nie boli biggrin.gif ). Jesli chodzi o ilosc joinow to jakos nie zawiodly mnie jeszcze i chodza w miare sprawnie.
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.