Привет, я новичок в стеке, поэтому, пожалуйста, со мной. . В основном я использую базу данных Moodle для запроса последних сообщений на форуме, сделанные студентами и преподавателями для соответствующего курса они зачислены вНесколько результатов в моем запросе?
Вот таблицы мне нужно присоединиться и объяснение в том, что они держат:
mdl_forum_posts = «все сообщения хранятся в таблице»
mdl_forum_discussions = «форумы состоят в дискуссии»
mdl_user = «информация хранится о пользователях»
mdl_log = «активность каждого пользователя системы быть, войдите - добавление сообщения «
mdl_user_enrolments = "пользователи, участвующие в курсах"
mdl_enrol = "экземпляры охвата плагинов, используемых в mdl_course"
mdl_course = "курсов, доступных в системе"
Вот мой запрос:
SELECT l.time AS TimeofPost, l.action as Action, usr.id as UserID,
usr.firstname,usr.lastname, c.id as CourseID , c.fullname,
c.idnumber, fd.name, fd.timemodified as CreatedOn, fp.created,
fp.modified, fp.subject, fp.message
FROM mdl_forum_posts fp
LEFT JOIN mdl_forum_discussions fd ON fp.discussion = fd.id
LEFT JOIN mdl_user usr ON fp.userid = usr.id
LEFT JOIN mdl_log l ON usr.id = l.userid
LEFT JOIN mdl_user_enrolments ue ON usr.id = ue.userid
LEFT JOIN mdl_enrol e ON ue.enrolid = e.id
LEFT JOIN mdl_course c ON e.courseid = c.id
WHERE (action = 'add post' OR action = 'add discussion')
Проблема в том, что я получаю повторяющиеся результаты. Кто-нибудь получил какие-либо советы, так как это было бы высоко оценено?
Приветствия
Антон
Вы также должны показать некоторые данные образца ... С этим большим количеством 'JOIN' легко получить обманы. – JNK
Можете ли вы добавить свои структуры таблиц к вопросу? –
Какую версию moodle вы используете? – iankit