我有以下查詢,它應該從我的數據庫(mdl_course.fullname)中提取課程列表,每個學生的名稱作爲列標題(mdl_user.username ),以及日期上,他們完成了課程(mdl_feedback_value.value):MySQL:如果查詢條件需要以表格格式顯示輸出
SELECT mdl_course.fullname,
if(mdl_user.username = "luis.arroyo", mdl_feedback_value.value, 'No')
As "Luis Arroyo "
FROM `mdl_course`
inner join mdl_feedback on mdl_feedback.course = mdl_course.id
inner join mdl_feedback_item on mdl_feedback_item.feedback = mdl_feedback.id
inner join mdl_feedback_value on mdl_feedback_value.item = mdl_feedback_item.id
inner join mdl_feedback_completed on mdl_feedback_completed.id = mdl_feedback_value.completed
inner join mdl_user on mdl_user.id = mdl_feedback_completed.userid
WHERE
(mdl_user.username = "luis.arroyo")
and mdl_feedback_value.value LIKE "%/%/%"
GROUP BY mdl_course.fullname
所需的輸出:
Course name Luis Arroyo
----------- -----------
ECON 101 No
ECON 112 6/30/2017
etc. etc.
我需要做的是名單每門課程數據庫(總共187 ),同時列出指定用戶及其日期完成課程(如果沒有,則顯示'否')。我在使用WHERE和GROUP BY子句時遇到了問題。選擇個人用戶名只會返回部分課程列表。在上述案例中,我只獲得38個結果而不是187個(Luis完成的課程)。
從WHERE子句中刪除mdl_user.username可以獲得所有187個課程的列表,但Luis的完成日期不顯示。一切都顯示爲「不」。
我不知道如何配置我的WHERE和GROUP BY子句來獲得我想要的輸出。