2013-04-25 46 views
0

我有一個工作代碼,其中第一個查詢將選擇用戶的所有評論,另一個將選擇該評論的每個主題並僅選擇用戶對其評論的主題但他不是創造者。它就像一個訂閱的主題頁面。問題是我無法在單行查詢中完成,而我需要它進行分頁。如何加入2個表,其中有2個where子句

我原來的代碼是這樣的:

$qry="SELECT * FROM tbl_comment WHERE user_id='$selected_user' GROUP BY topic_id"; 
    $res=mysql_query($qry); 
     if(mysql_num_rows($res)==0) 
      { 
       echo "<tr><td colspan=2><br>No Topic(s) Subscribed.</td></tr>"; 
      } 
     else 
      { 
       while($row=mysql_fetch_array($res)) 
        { 
         $subcid = $row['topic_id']; 
         $qry2="SELECT * FROM tbl_topic WHERE topic_id='$subcid' AND user_id!='$selected_user'"; 
         $res2=mysql_query($qry2); 
         while($row2=mysql_fetch_array($res2)) 
          { 
           //echo output 
          } 
         } 

       } 

這些都是我的兩個表

tbl_topic 
---------- 
topic_id 
topic_title 
user_id 




tbl_comment 
---------- 
comment_id 
comment_message 
user_id 
topic_id 

回答

1

在你的問題中提到...選擇只有主題的用戶不發表評論....

Select Tp.topic_Id , Tc.User_Id 
From tbl_topic Tp 
Inner Join tbl_comment Tc 
    On Tp.topic_Id = Tc.topic_Id 
    And Tp.User_Id != Tc.User_Id 
+0

哎呀,我的問題是錯誤的,對不起,我意思是隻選擇用戶評論的主題,但他不是創建者。我編輯了我的問題。 – 2013-04-25 05:18:03

+0

我認爲交換條件會起作用..plz檢查 – 2013-04-25 05:22:53

+0

感謝您的幫助。它現在正在工作 – 2013-04-25 05:25:39

0

你的意思是子查詢?試試這個..

select * from tbl_comment where user_id in(
    select user_id from tbl_topic where topic_id='$subcid' and user_id!='$selected_user' 
) 
group by topic_id