【发布时间】:2019-04-09 21:30:32
【问题描述】:
我正在使用 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')
我遇到的问题是我得到了重复的结果。
【问题讨论】:
-
您还应该显示一些示例数据...有这么多
JOINs,很容易上当受骗。 -
您可以将您的表结构添加到问题中吗?
-
你用的是哪个moodle版本?