0

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

我的原始代码是这样的:

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

2 回答 2

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 
于 2013-04-25T04:44:42.967 回答
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
于 2013-04-25T03:56:57.767 回答