2013-06-26 100 views
1

不工作我想列出的人,这里的课程代码不以“C”开头的课程。以下代码仍然会显示'C -...'代码。任何想法如何解决它?NOT LIKE子句中SQL

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

回答

3

只要把NOT只是LIKE前:

... c.id NOT LIKE 'C%' 
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条款。

0

试试这个:

 


WHERE u.idnumber = 'a.smoth' AND c.id NOT LIKE 'C%' 


0
WHERE u.idnumber = 'a.smoth' AND c.id NOT LIKE 'C%'