Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> count i where
acztery
post
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


witam,

Mam taki kłopot.

Mam 2 tabele

1. cat - kategorie ( Id, Name, Act )
2. favcat - ulubione kategorie ( Id, CatId, UserId, Date )

i teraz chodzi o to : dla zalogowanych użytkowników w miejscu gdzie listuje kategorie kategoria która znajduje sie w ulubionych dla danego usera ma byc jakoś odznaczona - to robie w smarty sobie.. )

mam takie zapytanie:

  1. SELECT * , count( favcat.Id ) AS count_f , cat.Id AS Id
  2. FROM cat LEFT JOIN favcat ON cat.Id = favcat.CatId
  3. GROUP BY cat.Id


ale to mi robi dla wszystkich rekordów w tabeli favcat jak dodam warunek ( favcat.UserId = 1 ) to pokazuje tylko te kategorie które są dodane do ulubionych...

wiec to nied ziała:

  1. SELECT * , count( favcat.Id ) AS count_f , cat.Id AS Id
  2. FROM cat LEFT JOIN favcat ON cat.Id = favcat.CatId WHERE favcat.UserId=1
  3. GROUP BY cat.Id


moze jakies pomysły..

ROZWIAZANIE

  1. SELECT * , count( favcat.Id ) AS count_f, cat.Id AS Id
  2. FROM cat LEFT JOIN favcat ON cat.Id = favcat.CatId AND favcat.UserId =2
  3. GROUP BY cat.Id
  4. LIMIT 0, 30


Ten post edytował acztery 20.08.2008, 15:03:17
Go to the top of the page
+Quote Post

Posty w temacie
- acztery   count i where   20.08.2008, 14:52:04
- - leviath   Skorzystaj z RIGHT JOIN   21.08.2008, 16:24:11
- - osiris   Mam jedna uwage co do struktury tabeli 'ulubio...   25.08.2008, 12:57:10


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

 



RSS Aktualny czas: 19.08.2025 - 20:32