NOT LIKE子句不在SQL中工作

时间:2013-06-26 08:40:40

标签: mysql sql moodle sql-like

我正在尝试列出一个人的所有课程,其中课程代码不以“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%'

4 个答案:

答案 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%'