Проблемно условие в mysql count,group

Hous

Registered
Код:
select t1.*,t2.*,count(novina_id) as broi from novina_entries t1,novina_cats t2 where t1.novina_cat_id=t2.id AND t2.novina_author='".$userid."' GROUP by(t1.novina_cat_id) ORDER BY t2.id DESC LIMIT 100
с тази заявка показвам колко броя новини има в дадената категория, на конкретния потребител, обаче проблема е това условие:

t1.novina_cat_id=t2.id
защото ако реално нямам новини в категорията, просто условието не е TRUE и съответно пропуска празните категории...
Noviini ot sveta (145)
novini ot bylgaria (13)
Testova categoriq(0) <<< не се показва
Testova 2 (13)
 
Поправи ме ако греша, но ако те разбирам правилно, ти просто искаш да вземеш списък от категории новини и броя новини в тях.

В такъв случай, пробвай с тази заявка:

[sql]SELECT *, COUNT(SELECT id FROM novina_entries WHERE novina_entries.novina_cat_id = novina_cats.id) AS broi
FROM novina_cats[/sql]
 
колко броя новини има в дадената категория, с автор конкретния логнат потребител ,но при моето условие
t1.novina_cat_id=t2.id
когато категорията има 0 записа в novini се пропуска
 
Да забравих условието за авторите..

И твоето би трябвало да се получи с:
[sql]... (t1.novina_cat_id=t2.id OR broi = 0) AND t2.novina_author ...[/sql]
 
Ами мъча мъча и не става... ако може дай цялата заявка да пробвам може от бързане да не става...?
 
[sql]SELECT t1.*, count( t2.novina_id ) AS broi
FROM novina_cats t1
LEFT JOIN novina_entries t2 ON t1.id = t2.novina_cat_id
WHERE t2.novina_author = 1
GROUP BY (t1.id)
ORDER BY t1.id[/sql]
 

Back
Горе