Помогите с выборкой

Статус
Закрыто для дальнейших ответов.

mrM

Адекватный критик
Регистрация
11.06.2005
Сообщения
90
Ребята, срочно нужна помощь! Пишу я скрипт каталога ссылок и мне надо, что бы при просмотре всех категорий, напротив которых выводилось бы число ссылок.

Вот запрос:

Код:
Select cat.id, cat.name, Count(links.id) As count_links
From cat, links
Where cat.id=links.cid
GROUP BY cat.id
Order By cat.name ASC
НО, если в категории нет линков, то эта категория не выводится:( Что ДЕЛАТЬ??? Помогите! Срочно надо разобраться!
Заранее благодарен!
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Don't worry:)
Короче я вижу твою ошибку...в свое время я с этим тоже помучился...по неопытности. Советую тебе почитать книги по SQL, которые есть на сайте. А конкретно читай про соединения JOIN.

Значит так:

Код:
SELECT cat.id, cat.name, COUNT(links.id) AS count_links
FROM cat LEFT JOIN links
ON cat.id=links.cid
GROUP BY cat.id
ORDER BY cat.name ASC
Немного поясню, что я тут сделал. В данном примере я использую левое соединение (LEFT JOIN), которое проверяет существование значения левой и правой части, но при отсутствие идентичного значения правой колонки (links.cid) значение count_links принимает 0. Наоборот происходит с RIGHT JOIN.
Так что делай выводы... тебе надо поучить язык структурированных запросов SQL:)
 

mrM

Адекватный критик
Регистрация
11.06.2005
Сообщения
90
Фух, глубочайший тебе поклон... ты меня просто спас! ВСЕ работает, а то я уже руки опустил. Очень благодарен за такой быстрый ответ!
А книги я обязательно скачаю, уже присмотрел парочку.
Еще раз спасибо!
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Рад был помочь;)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ