Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> LEFT JOIN + COUNT + 0
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Hej!
Mam 2 tabele
  1. CREATE TABLE download (
  2. id SMALLINT(4) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  3. category TINYINT(2) UNSIGNED NOT NULL DEFAULT '1',
  4. name VARCHAR(50) NOT NULL,
  5. size FLOAT(7,1) NOT NULL,
  6. visible ENUM('0', '1') NOT NULL DEFAULT '1',
  7. date DATE NOT NULL
  8. );
  9.  
  10. CREATE TABLE download_categories (
  11. id TINYINT(3) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  12. name VARCHAR(50) NOT NULL,
  13. visible ENUM('0', '1') NOT NULL DEFAULT '1'
  14. );

Oraz zapytanie:
  1. SELECT dc.id, dc.name, COUNT(d.id) AS counter FROM download_categories AS dc LEFT JOIN download AS d ON (dc.id=d.category) WHERE d.visible='1' GROUP BY d.category ORDER BY d.name DESC

ktore ma za zadanie wyswietlic dane:
id kategorii | nazwa kategorii | liczba plikow
gdzie zliczanie liczby plikow powinno zliczac tylko te, ktorych visible='1'. No i dziala fajnie, ale jesli w danej kategorii nie ma zadnego pliku to nie uwzglednia jej w zestawieniu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Jak poprawic to zapytanie aby wyswietlilo takze puste kategorie (z counter rownym 0).
PS: nigdy JOINow nie czailem wiec jesli widac jakies razace bledy prosze o info (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
siemakuba
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Tak na szybko to wydaje mi się, że powinieneś zmienić grupowanie.
Zamiast
  1. GROUP BY d.category
spróbuj dać
  1. GROUP BY dc.id


pozdr.
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: 3.10.2025 - 15:48