使用递归查询{inner join}查找结果

时间:2013-11-07 02:25:43

标签: sql sql-server-2008 recursion

我正在使用SQL Server 2008

我有一张表:

To_FRIEND | FROM_FRIEND      | FOR_FRIND
1         | 2                |3
1         | 5                |2 
1         | 9                |5

我需要内部或递归查询给我朋友的相关朋友否 1

FRIENDS RELATED 
2   
3     
5
9

explination

2 个答案:

答案 0 :(得分:1)

这是你想要的吗?

select from_friend
from t
where to_friend = 1
union
select for_friend
from t
where to_friend = 1;

它返回你想要的东西,但似乎没有必要进行递归。

答案 1 :(得分:0)

with cte as
(
select [from-friend]
from [dbo].[stk-stuff]
where [to-friend] = 1
union
select [for-friend]
from [dbo].[stk-stuff]
where  [to-friend]= 1
) 

select * from cte