我正在尝试列出一个人的所有课程,其中课程代码不以“C”开头。以下代码仍然会显示“C -...”代码。知道怎么解决吗?
SELECT u.idnumber, u.firstname, u.lastname, r.id, c.idnumber AS m_name, c.id AS c_id
FROM mdl_user u
LEFT JOIN mdl_role_assignments r ON u.id = r.userid
LEFT JOIN mdl_context c1 ON r.contextid = c1.id
LEFT JOIN mdl_course c ON c1.instanceid = c.id
WHERE u.idnumber = 'a.smoth' AND NOT c.id LIKE 'C%'
答案 0 :(得分:3)
只需将NOT
放在LIKE
:
... c.id NOT LIKE 'C%'
答案 1 :(得分:2)
你不喜欢语法不正确使用它:
SELECT u.idnumber,u.firstname,u.lastname,r.id,c.idnumber AS m_name,c.id AS c_id
FROM mdl_user u
LEFT JOIN mdl_role_assignments r ON u.id = r.userid
LEFT JOIN mdl_context c1 ON r.contextid = c1.id
LEFT JOIN mdl_course c ON c1.instanceid = c.id
WHERE u.idnumber = 'a.smoth' AND c.id NOT LIKE 'C%'
^^^
这是NOT LIKE条款。
答案 2 :(得分:0)
试试这个:
WHERE u.idnumber = 'a.smoth' AND c.id NOT LIKE 'C%'
答案 3 :(得分:0)
WHERE u.idnumber = 'a.smoth' AND c.id NOT LIKE 'C%'