|
|
|
| Например, есть таблица категории
в ней два поля: id и name
есть еще таблица с элементами (id, cid и т.д.), которые находятся в своей категории
Как сделать вывод категорий, чтобы рядом с названием категории было указано количество элементов находящихся в ней?
У меня запрос выглядит так:
$db->query("SELECT A.id, A.name, B.cid, count(B.id) as newCount FROM $tbl1 A LEFT JOIN $tbl2 B ON A.id=B.cid GROUP BY B.cid ORDER by name");
|
Но он выводит только категории, в которых что-то есть. А надо чтобы выводилось все. Как сделать? Что не так в запросе? | |
|
|
|
|
|
|
|
для: Clocker
(03.12.2005 в 13:42)
| | Попробуйте
GROUP BY B.cid
заменить на
GROUP BY A.id | |
|
|
|
|
|
|
|
для: Artem S.
(03.12.2005 в 13:45)
| | не то | |
|
|
|
|
|
|
|
для: Clocker
(03.12.2005 в 13:42)
| | А таблицы как выглядят и как связаны? | |
|
|
|
|
|
|
|
для: cheops
(03.12.2005 в 21:33)
| | категории:
id
name
элементы
id
cid
name
photo
year
race
и т.п.
связаны по cid | |
|
|
|
|
|
|
|
для: Clocker
(04.12.2005 в 00:31)
| | Тогда необходимо писать, как предложил Artem S.
$db->query("SELECT A.id, A.name, B.cid, count(B.id) as newCount FROM $tbl1 A LEFT JOIN $tbl2 B ON A.id=B.cid GROUP BY A.id ORDER by name");
|
А почему этот вариант не подходит? | |
|
|
|
|
|
|
|
для: cheops
(04.12.2005 в 14:02)
| | Спасибо. только непонятно, почему не работало раньше... | |
|
|
|