【发布时间】:2010-12-07 20:24:12
【问题描述】:
我的表中目前有以下行:
course_data:
user_id days <-- This is a varchar column.
405 1,3,5
我正在尝试实现以下 SELECT 语句:
SELECT usrID, usrFirst, usrLast, usrEmail
FROM tblUsers
WHERE usrID NOT IN
(
SELECT users.usrID
FROM
`course_data` courses,
`tblUsers` users
WHERE
days IN ('$day')
)
GROUP BY usrID
ORDER BY usrID
基本上,如果 $day 变量包含“1、3 或 5”,我希望省略该行(用户为 405)。
例如,如果$day = "1",它应该返回一个空查询(因为数字“1”在“1,3,5”列中)。
但是,我没有发现这种情况。即使$day = "1",它仍然返回该行。
它不会返回该行的唯一方法是 $day= "1,3,5." 但是,我认为 IN() 子句会占用我的变量的任何部分并将其应用于该列。
对我在这里做错了什么有任何见解吗?谢谢。
【问题讨论】: