c*****h 发帖数: 166 | 1 一个表结构是这样的
EMPLOYEES
__________________________________________
EMPID NAME SUPERVISOR LOCATION SALARY
------------------------------------------
34 Amy NY 110000
17 Ben 34 TN 75000
5 Chris 34 TN 80000
10 Don 5 HI 100000
问题是给一个EMPID, 怎么样找出所有向这个人汇报的人 比如给EMPID 34,要返回34,17
,5,10
就写SQL的话怎么做?多谢 | B*****g 发帖数: 34098 | 2 oracle, connect by
17
【在 c*****h 的大作中提到】 : 一个表结构是这样的 : EMPLOYEES : __________________________________________ : EMPID NAME SUPERVISOR LOCATION SALARY : ------------------------------------------ : 34 Amy NY 110000 : 17 Ben 34 TN 75000 : 5 Chris 34 TN 80000 : 10 Don 5 HI 100000 : 问题是给一个EMPID, 怎么样找出所有向这个人汇报的人 比如给EMPID 34,要返回34,17
| f*******h 发帖数: 53 | 3 SQL SERVER CTE:
with cte as(
select empid
from employess
where empid=34
union all
select e.empid
from employess as e
where e.supervisor=cte.empid
)
select * from cte | c*****h 发帖数: 166 | 4 多谢
【在 f*******h 的大作中提到】 : SQL SERVER CTE: : with cte as( : select empid : from employess : where empid=34 : union all : select e.empid : from employess as e : where e.supervisor=cte.empid : )
|
|