当我只有一个限定条件时候可以正常实现,
SELECT EMPNAME,DEP from empdep WHERE dep = '" & CurUser & "' and EMPNAME NOT IN ("'a','b','c' ") ORDER BY DEP 但是我多加了一个条件后就不能正常实现了:
SELECT EMPNAME,DEP from empdep WHERE dep = '" & CurUser & "' OR dep = '驾驶班' and EMPNAME NOT IN ("'a','b','c' ") ORDER BY DEP
SELECT EMPNAME,DEP from empdep WHERE dep = '" & CurUser & "' and EMPNAME NOT IN ("'a','b','c' ") ORDER BY DEP 但是我多加了一个条件后就不能正常实现了:
SELECT EMPNAME,DEP from empdep WHERE dep = '" & CurUser & "' OR dep = '驾驶班' and EMPNAME NOT IN ("'a','b','c' ") ORDER BY DEP
先执行dep = '驾驶班' and EMPNAME NOT IN ("'a','b','c' ")
再执行 dep = '" & CurUser & "' OR 所以满足 dep = '" & CurUser & "'的就会提出来语句里有or的时候注意一下要表达的意思,是谁和谁要or了,把它们用括号括起来。
SELECT EMPNAME,DEP from empdep WHERE (dep = '" & CurUser & "' OR dep = N'驾驶班') and EMPNAME NOT IN ("'a','b','c' ") ORDER BY DEP
from empdep WHERE (dep = '" & CurUser & "' OR dep = '驾驶班')
and EMPNAME NOT IN ("'a','b','c' ")
ORDER BY DEP
得用括号改变优先级.
你的意思是不是
( dep = '" & CurUser & "' OR dep = '驾驶班') and (EMPNAME NOT IN ("'a','b','c' ")) ORDER BY DEP
加了两个括号