Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2012-03-06 16:38:25

Knopik
Участник
Откуда: ufa
Здесь с 2009-10-14
Сообщений: 342
Рейтинг :   59 
Сайт

Разжуйте пожалуйста SQL запрос

Привет всем! Помогите разжевать Sql запрос smile

SELECT c.id AS cid,
       c.cat_name, f.id AS fid,
       f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster 
       FROM lol_categories AS c 
INNER JOIN lol_forums AS f ON c.id=f.cat_id 
LEFT JOIN lol_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=1)
WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position

Простые запросы понимаю, а вот такого типа нет. примерно догадываюсь что он делает. Хочу понять, чтобы писать такие же, или примерно...

ps: Это запрос из исходников форума punbb 1.2

Отредактировано Knopik (2012-03-06 16:40:11)

Вне форума

#2 2012-03-06 17:22:16

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Разжуйте пожалуйста SQL запрос

Чтобы разжевать запрос нужна как минимум структура БД smile

В чем проблема? С пониманием, что делает INNER JOIN и LEFT JOIN ?

Вне форума

#3 2012-03-13 18:00:44

Knopik
Участник
Откуда: ufa
Здесь с 2009-10-14
Сообщений: 342
Рейтинг :   59 
Сайт

Re: Разжуйте пожалуйста SQL запрос

Wolverine, да, не до конца понял... а на счет структуры:
lol_forums = список форумов
lol_forum_perms = права пользователей
lol_categories = категории

все они связаны между собой по id

INNER JOIN lol_forums AS f ON c.id=f.cat_id

Выходит так: Добавить строку из lol_forums как f где c.id=f.cat_id

LEFT JOIN lol_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=1)

Добавить строку из lol_forum_perms как fp где (fp.forum_id=f.id и fp.group_id=1)

Не могу понять, в чем их различие?

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.031 сек, 7 запросов выполнено - Использовано памяти: 523.15 Кбайт (Пик: 550.49 Кбайт) ]