Sql 如何联接具有2个where子句的2个表

Sql 如何联接具有2个where子句的2个表,sql,join,Sql,Join,我有一个工作代码,第一个查询将选择用户的所有评论,另一个查询将选择该评论的每个主题,并仅选择用户评论的主题,但他不是创建者。它就像一个订阅的主题页面。问题是我不能在单行查询中创建它,我需要它来分页 我的原始代码是: $qry="SELECT * FROM tbl_comment WHERE user_id='$selected_user' GROUP BY topic_id"; $res=mysql_query($qry); if(mysql_num_rows($res)

我有一个工作代码,第一个查询将选择用户的所有评论,另一个查询将选择该评论的每个主题,并仅选择用户评论的主题,但他不是创建者。它就像一个订阅的主题页面。问题是我不能在单行查询中创建它,我需要它来分页

我的原始代码是:

$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
                            }
                        }

                }

你是说子查询吗?试试这个

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

正如你在问题中提到的。。。仅选择用户不评论的主题

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 

哦,我的问题错了,对不起,我的意思是只选择用户评论的主题,但他不是创建者。我编辑了我的问题。
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