Проверка активности реферала

Проверка активности реферала в Реферальной системе

#16 9 апреля 2011 в 22:51
Что не так в запросе? запрос даёт не, то что хочется =)
#17 9 апреля 2011 в 23:04

SELECT IFNULL(a.user_id, 0),
COUNT(b.user_id),
COUNT(с.admin_id)
FROM cms_blogs a
LEFT JOIN cms_blog_posts b ON b.user_id = a.user_id
LEFT JOIN cms_clubs с ON с.admin_id = a.user_id
WHERE a.user_id = 1

Dimitrius

Что не так в запросе? запрос даёт не, то что хочется =)

Dimitrius

Конечно неплохо было бы знать что вам хочется и что возвращает запрос
хотя я догадываюсь что вы таким изощренным способом хотите узнать число постов и клубов, созданных пользователем :)
но:
1. есть COUNT() но нет GROUP BY
2. автор блога не обязательно является автором постов в него
3. если блога нет, то ничего не вернется, даже если есть клубы
4. вообще странный запрос :)

имхо лучше использовать несколько простых раздельных запросов, без джоинов
проще для восприятия, да и работать будет если не быстрее, то не медленнее точно
#18 9 апреля 2011 в 23:11
Просто мои учителя интернет и инстант кмс))) Так, что возможны бредовые решения))))
Значит все таки лучше разделить запросы?
#19 10 апреля 2011 в 00:43

Значит все таки лучше разделить запросы?

Dimitrius
в некоторых случаях лучше делать раздельные запросы — они отработают быстрее, чем тоже самое с джойнами.
Возьми за привычку прогонять запросы через explain и все сразу станет понятно.
#20 10 апреля 2011 в 10:03
Что такое ex

explain

Fuze
Спасибо Фьюзи!
Я запросы прогоняю правда через phpmyadmin SQL запрос, что бы узнать, а вообще он мне то даёт или нет😊Теперь добавлю и эту команду)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.