通过先前 - 在结果集中显示父记录连接

时间:2018-03-21 20:56:29

标签: sql oracle

我有这段代码

select column from Table 
start with supervisor_id='555555' 
connect by prior employee_id=supervisor_id

因此,此查询为我提供了55555作为supervisor_id的所有员工以及将employee_id作为supervisor_id的所有其他员工的结果,但我也希望user_id = 555555的人也出现在我的结果中,并且他必须在同一列中显示,就好像他是查询结果的一部分一样。任何帮助表示赞赏。谢谢

2 个答案:

答案 0 :(得分:1)

设置OR条件,它应该有效。

请参阅演示:http://sqlfiddle.com/#!4/7ef7f9/1

 Select distinct *
from table1 
start with supervisor_id='555555' or employee_id='555555'
connect by prior employee_id=supervisor_id

答案 1 :(得分:0)

您可以将主管联合到查询中:

select column from Table where user_id='555555'
union all
select column from Table 
start with supervisor_id='555555' 
connect by prior employee_id=supervisor_id    

我假设user_id = '555555'的人也来自Table,并且您希望显示相同的column - 如果没有将您需要的更改替换为上述SQL。< / p>