我有一个工作代码,第一个查询将选择用户的所有评论,另一个将选择该评论的每个主题,并只选择用户评论的主题,但他不是创造者。它就像一个订阅的主题页面。问题是我不能在单行查询中进行,我需要它进行分页。
我的原始代码是:
$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
答案 0 :(得分: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
答案 1 :(得分: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