Sql 显示没有经理的所有经理和员工
我在SQLServer2008中有一个表,为了便于解释,该表包含,ID,Employee和ManagerID 例如: 我想编写一个查询,返回所有不相关的Sql 显示没有经理的所有经理和员工,sql,sql-server-2008,self-join,correlated-subquery,Sql,Sql Server 2008,Self Join,Correlated Subquery,我在SQLServer2008中有一个表,为了便于解释,该表包含,ID,Employee和ManagerID 例如: 我想编写一个查询,返回所有不相关的ManagerID和ID,其中ManagerID等于ID 结果应该是这样的, ID Employee ManagerID 1 A NULL 2 B 2 本质上,没有管理者可以是管理者的管理者 起初,我认为使用自连接和EXCLUDESQL语句会很简单,但是我无法实现这一点。我不想使用EXCL
ManagerID
和ID
,其中ManagerID
等于ID
结果应该是这样的,
ID Employee ManagerID
1 A NULL
2 B 2
本质上,没有管理者可以是管理者的管理者
起初,我认为使用自连接和EXCLUDE
SQL语句会很简单,但是我无法实现这一点。我不想使用EXCLUDE
语句,因为我的实际表中有更多的列和我想返回的相关数据
如果您能帮忙,我将不胜感激。我很困惑,请澄清。“非相关经理”是什么意思?经理是否在员工表中(如人们所料)?如果是这样,它们是否都具有ManagerID for NULL?请提供更多详细信息。正确,仅Null和ID相等。
select employee, managerid
from your_table
where managerid is null
or managerid = id
select employee, managerid
from your_table
where managerid is null
or managerid = id