2011-02-10 56 views
1

我想實現的是選擇只有我的朋友寫的評論。我有以下表格。如何查詢多個表?

朋友

id 
my_user_id 
friend_user_id 

評論

id 
user_id 
comment 

這是我怎麼沒那麼遠。

首先找出誰是我的朋友在朋友表:

mysql_query("SELECT friend_user_id FROM friends 
      WHERE my_user_id = $user_id "); 

然後,我只選擇我的朋友寫的評論。

mysql_query("SELECT * FROM comments WHERE user_id = 'my_first_friends_id' 
      OR user_id = 'my_second_friends_id' "); 

現在,這是跛腳版本,它是非常緩慢的。我在評論表中有數百萬條記錄。

這個問題的最佳解決方案是什麼?如何在一個查詢中解決這個問題?而且速度也很重要。

回答

3
select c.id, c.user_id, c.comment 
    from Friends f 
     inner join Comments c 
      on f.friend_user_id = c.user_id 
    where f.my_user_id = $user_id 
+0

謝謝,我現在就試試看。什麼是c。和f。 ? – Maxxon 2011-02-10 21:20:15