0

我有一个朋友表,其中包含这样的列:

requester_user_id //the user initiating the request
requested_user_id //the user responding to the request
established //bool, true is 'these two are friends'

我还有其他一些专栏,但它们对于这个问题并不重要。

我需要的是一个查询,它将获取您所有朋友 ID 的列表。问题是,您的 ID 可能在请求者或请求者中,具体取决于发起请求的人。

我觉得必须有一个简单的方法,但如果不做多个ifs 我就无法弄清楚。

4

2 回答 2

2

单程:

select distinct 
       case requester_user_id 
            when @myid then requested_user_id 
            else requester_user_id 
       end id
from friends
where @myid in (requester_user_id, requested_user_id)
于 2013-04-24T18:39:30.603 回答
1
SELECT distinct id from (
SELECT requested_user_id as id FROM friends where requester_user_id = @myid
UNION
SELECT requester_user_id as id FROM friends where requested_user_id = @myid
)
于 2013-04-24T18:32:45.580 回答