MySQL find_in_set选择不起作用

时间:2014-04-14 19:29:02

标签: mysql select find-in-set

我试图执行以下操作:

  • 从当前年份中选择:工作
  • 选择user_id 所在的位置逗号分隔列表' users':Works
  • 选择user_id 不在逗号分隔列表中的位置'已接受' '拒绝':不工作

但出于某种原因,我无法得到我想要的结果。请参阅以下代码:

SELECT   *, MONTH(datetime) AS month
FROM     $table_name
WHERE    YEAR(datetime) = $current_year
AND      find_in_set('%$user_id%', users)
AND NOT  find_in_set('%$user_id%', accepted) OR NOT find_in_set('%$user_id%', rejected)
ORDER BY datetime

1 个答案:

答案 0 :(得分:2)

NOT子句条件放在括号中。

WHERE    YEAR(datetime) = $current_year
AND      find_in_set('%$user_id%', users)
AND (    NOT find_in_set('%$user_id%', accepted) 
      OR NOT find_in_set('%$user_id%', rejected) )