2015-12-01 33 views
0

我正在使用Moodle DB。我不希望任何NULL值顯示在我的查詢中。但到目前爲止,它不工作:無法在MYSQL中篩選NULLS

SELECT mdl_user.department, mdl_user.id, mdl_user.username, mdl_user.firstname, mdl_user.lastname, mdl_course_completions.course, mdl_course_completions.timecompleted, mdl_course.fullname 

FROM mdl_user LEFT JOIN (mdl_course_completions, mdl_course) ON (mdl_user.id = mdl_course_completions.id AND mdl_course_completions.id = mdl_course.id) WHERE NOT (mdl_course_completions.timecompleted IS NULL);\G 
Empty set (0.00 sec) 

我嘗試使用IS NOT NULL,但給了我同樣的結果。

任何想法???

+0

如果您刪除WHERE,您會得到任何結果嗎? – Kenney

+0

怎麼樣不是左連接,或者不是某個列的空值 – Drew

+0

您可以嘗試使用內連接而不是左連接 –

回答

0

這是我最好或多或少的期待:

​​

假設mdl_course_completions有外鍵user_idmdl_user(id)course_idmdl_course(id)

0
SELECT 
    mdl_user.department, 
    mdl_user.id, 
    dl_user.username, 
    mdl_user.firstname, 
    mdl_user.lastname, 
    mdl_course_completions.course, 
    mdl_course_completions.timecompleted, 
    mdl_course.fullname 
FROM mdl_user 
LEFT JOIN (SELECT * FROM mdl_course_completions WHERE timecompleted IS NOT NULL) as mdl_course_completions 
    ON mdl_user.id = mdl_course_completions.user_id 
LEFT JOIN mdl_course 
    ON mdl_course_completions.id = mdl_course.id 

至於其他的用戶建議,「mdl_user.id = mdl_course_completions.id」看起來不正確的「USER_ID = user_ID的」我假設mdl_course_completions的ID不是用戶的?