2011-02-28 86 views
-2
select NAME 
from Temp_EMP 
where name not in select NAME from EMPLOYEE and deptid ='11' 

我在声明中收到错误。SQL QUERY ISSUE(NOT IN)

+1

你得到的错误是什么? – 2011-02-28 14:04:43

+0

如果您发布代码,XML或数据样本,请**在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码样本”按钮(“{}”)以精确地格式化和语法突出显示它! – 2011-02-28 14:09:15

+2

**停止在美国**(我们不是那些造成你的麻烦......),并给我们**确切的错误信息**你越来越! – 2011-02-28 14:09:52

回答

2

你缺少子查询的WHERE条款:

select NAME from Temp_EMP where name not in (select NAME from EMPLOYEE WHERE deptid ='11') 
+0

thanx Ken keenan – happysmile 2011-02-28 15:03:50

0

尝试

select [NAME] from Temp_EMP where [name] not in (select NAME from EMPLOYEE) and deptid ='11' 

或者说,我认为这是一个比较优化:

Select [Name] from temp_emp t left join 
employee on e on t.[name]=e.[name] 
where e.[name] is null and t.deptid = '11' 
+1

如果不符合逻辑: 从Temp_EMP中选择[名称]不在(从EMPLOYEE选择NAME)和deptid = '11' – 2011-02-28 14:07:19

+1

+ 1 Nick的[NAME]。非常感谢。 – 2011-02-28 14:15:07

1

Verrigo接近,但我认为它应该更像这样:

select [NAME] 
from Temp_EMP 
where name not in (
    select [Name] 
    from EMPLOYEE 
) and deptid = '11' 

我假设deptidTemp_EMP列,而deptid其实一些文本字段。

Josh