【发布时间】:2019-08-10 02:43:49
【问题描述】:
我需要根据前一个表的输出在几个表之间创建一个连接查询。我正在尝试使用 case when 语句如下,但它显示错误!任何形式的帮助表示赞赏
SELECT completion.userid, completion. coursemoduleid, completion. timemodified,
module.course, user. idnumber as student_id, m.name as module_name, activity.name as activity_name
FROM `mdl_course_modules_completion` as completion
join mdl_course_modules as module
on completion. coursemoduleid = module.id
join mdl_user as user on user.id = completion.userid
join mdl_modules as m on completion. coursemoduleid = m.id
join
CASE WHEN module_name = 'assign'THEN 'mdl_assign'
WHEN module_name = 'assignment' THEN 'mdl_assignment'
ELSE "quiz"
END AS activity
on activity.id = m.id LIMIT 0, 30
【问题讨论】:
-
请在代码问题中给出minimal reproducible example--剪切&粘贴&运行代码;具有期望和实际输出的示例输入(包括逐字错误消息);标签;明确的规范和解释。这包括您可以提供的最少代码,即您显示的代码可以通过您显示的代码扩展为不可以。 (调试基础。) PS 你有一个语法错误。阅读语法和手册。显示组成子表达式是可以的。明确说明您的问题是关于 那个错误 并在稍后的新帖子中询问您的总体目标。 PS 显然这里有非最小代码/数据。
-
请use text, not images/links, for text--including tables & ERDs. 解释或引用其他文本。仅将图像用于无法表达为文本或增强文本的内容。无法搜索或剪切和粘贴图像。在图像中包含图例/键和说明。让您的帖子自成一体。
标签: mysql join conditional-statements moodle