| |
|
|
| | Например, есть таблица категории
в ней два поля: 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)
| | | Спасибо. только непонятно, почему не работало раньше... | |
| |
|
|