select 职员序号,姓名,上级职员序号 from 你的表
解决方案 »
- sql 根据月来填充季度
- 求一sql【谢谢】
- 肯请释疑:syscacheobjects 和执行计划的问题
- 关于EXCEL导入sqlserver时的一个难题,高人来帮帮忙
- 有一个订单和产品的问题?
- SQL2005数据库疑难
- 请教下:varchar 可变长类型-为什么在powerdesigner中,还要指定varchar类型数据的长度呢?varchar(n)指定这个n有什么意义呢?
- 关于一个UPDATE的问题 “顶”的就不要进来了 OK了的话就给分
- 为什么不能用pcb插入image类数据?
- SQL查询过程中出现的未知错误
- sqlserver, 比较字符串, 区分长度
- MSSQL数据库真正的用户登陆
declare @xh int
set @xh=10
select 职员序号,姓名,上级职员序号 from 你的表
where 上级职员序号=@xh
这个一般是用with 递归来处理
能否贴点数据和表结构出来呢,这样方便直接写sql语句给你
我怎么没看明白谁给我在说说
CREATE TABLE EmployeeTree
(
ID INT PRIMARY KEY ,
EmployeeName NVARCHAR(50) ,
ParentID INT
)INSERT INTO EmployeeTree
VALUES ( 1,'Wine', NULL )
INSERT INTO EmployeeTree
VALUES ( 2,'peak', 1 )
INSERT INTO EmployeeTree
VALUES ( 3, 'Clemens', 2 )
INSERT INTO EmployeeTree
VALUES ( 4,'Malek', 2 )
INSERT INTO EmployeeTree
VALUES (5, 'Goksin', 4 )
INSERT INTO EmployeeTree
VALUES ( 7,'Ramesh', 5 )
INSERT INTO EmployeeTree
VALUES ( 8,'Linda', 5 )
INSERT INTO EmployeeTree
VALUES ( 6,'Kimberly', 1 )
INSERT INTO EmployeeTree
VALUES ( 9,'Rechard', 6 ) OK,查询一下,完美的数据--创建递归查询
WITH SimpleRecursive ( EmployeeName, ID, ParentID )
AS ( SELECT EmployeeName ,
ID ,
ParentID
FROM EmployeeTree
WHERE ID = 2
UNION ALL
SELECT p.EmployeeName ,
p.ID ,
p.ParentID
FROM EmployeeTree p
INNER JOIN SimpleRecursive A ON A.ID = p.ParentID
)
SELECT sr.ID AS empid ,
sr.EmployeeName AS Emp ,
et.EmployeeName AS Boss
FROM SimpleRecursive sr
INNER JOIN EmployeeTree et ON sr.ParentID = et.ID
其实就是,先从EmployeeTree查找ID = 2的记录,这条记录相当于是parent记录,然后以这条记录为主,查找有没有哪条记录的parentID是等于,刚才找处理的id=2的记录的 id,如果有,说明这个id就是刚才找出来的记录的下级。于是就这样一层一层往下找。是一种递归的处理方法