Есть запрос:
SELECT t1.id, t1.name AS `alt`, t2.parent, COUNT(`cat`.id) AS `children`
FROM t1
LEFT JOIN t2 ON t1.id=t2.id_cat
LEFT JOIN t1 AS `cat` ON t1.id=`cat`.parent_to
GROUP BY t1.id ORDER BY `alt`
Запрос работает, как надо, но сюда необходимо добавить условие WHERE `children`<>0
Внимание вопрос: как и куда его вставить?
После блока FROM - ошибка, после второго LEFT JOIN - ошибка. Как щё?
Можно сделать select * from (етот запрос) as s1 where children<>0, но может есть способы менее нагружающие СУБД?
Примечание:
> так куда where надо добавить
У тебя в мануале нету LEFT JOIN - ов, так что не катит. Тем более, я ж написал, что поставив WHERE после блока FROM ошибка выдаётся
Примечание:
> Вставь перед GROUP BY
*facepalm*
На самом деле, я уже переработал движок, отказавшись от условия. Спасибо всем, кто поспособствовал ;)
Примечание:
> и WHERE должно быть перед GROUP, а не после FROM, не так ли?
Должно-то должно, да суть в том, что всё равно, ошибка с етим WHERE. В общем, я просто сложную задачу поставил. Надо было хотя бы до трёх столбцов упростить и убрать один LEFT JOIN - может тогда б кто-нть суть понял. Всё равно, спасибо за подсказки ;)
Примечание:
Sergey_A, ответ не проверял, но судя по манам ответ близок к истине. За ето и ЛО
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.