2013-12-10 80 views
0

我目前有兩個表:如何過濾帖子的友誼?

帖子表

post_id  user_id  post_text  post_time 
---------------------------------------------------------- 
1   1   TEXT   2011-10-07 19:07:00 
2   2   TEXT   2011-10-07 19:10:00 
3   3   TEXT   2011-10-07 19:17:00 
4   4   TEXT   2011-10-07 19:23:00 
5   3   TEXT   2011-10-07 19:30:00 

朋友表

friendship_id  friend1_id  friend2_id  status 
---------------------------------------------------------- 
1     1    2    1 (active friend) 
2     1    3    1 (active friend) 
3     2    3    0 (not friend) 
4     3    4    0 (not friend) 
5     1    4    1 (active friend) 

我所要做的主要是獲取所有帖子的其中用戶與另一個用戶持有活躍的朋友狀態

詳細說明: friend1_id爲1的用戶與用戶friend2_id 2,3和4具有友誼。具有friend2_id 2,3和4的用戶發佈了帖子。如何獲取用戶2,3和4發佈的所有帖子[因爲用戶1是所有用戶的朋友]?

闡述更多:如果是朋友與用戶[1 - 積極友好],然後允許後要取出,否則不如果用戶未持有積極的友誼獲取任何東西。

我希望我解釋得很好,否則我會詳細說明。謝謝。

PS:我錯過了什麼嗎?難道我做錯了什麼?有沒有更簡單的方法來做到這一點?如果是這樣,請讓我知道。我樂意去學。

回答

1

詮:

Select * from Posts 
where user_id in 
(select friend2_id from Friends where friend1_id = 1) 

闡述更多:

Select * from Posts 
where user_id in 
(select friend2_id from Friends where friend1_id = 1 and status = 1) 
+0

謝謝穆赫辛先生。 –

+0

不客氣。 –