在一个查询中获取多个表

2024-01-27

一小时内发了三十个帖子。所以我很抱歉!

但我没有得到我想要的!

我会尝试解释更多..

我有两张桌子..

帖子

我想在这一页中显示所有帖子和评论

购买 ( 1 条查询 )

我在帖子表中(100 个帖子) 我在评论表中有(20条评论)

我试试这个代码

$qq = mysql_query("SELECT posts.*,comments.* 
FROM posts LEFT JOIN comments 
ON posts.post_id = comments.post_id");
    while($tt = mysql_fetch_array($qq)){
    echo $tt['comment_title'] . '<br />'; //the title of comments !
}

在上面,我正在尝试打印评论标题

我上面说了我只有(20条评论)!

代码输出(120条注释,重复!)

120是两张桌子的总和!

/* 我只想打印 20 条评论和 100 条帖子(在一个查询中)

我怎么能这么做! ?

最后我对这个问题感到抱歉

但我真的需要帮助!我的网站已关闭


你的问题非常模糊,所以我会尽力:

SELECT * FROM posts LEFT JOIN comments ON posts.post_id = comments.post_id

这就是您想要的查询(与您的查询相同,但 * 而不是“posts.,评论。".

当然,这将检索帖子中的所有行,即使它们没有任何评论。你需要做:

SELECT * FROM posts LEFT JOIN comments ON posts.post_id = comments.post_id WHERE posts.post_id= = <some_id>

仅获取特定帖子的评论。当然,这很愚蠢,因为这与仅仅做同样的事情:

SELECT * FROM comments WHERE post_id = <some_id>

如果您只想选择帖子中包含评论的行,则必须执行以下操作:

SELECT * FROM posts INNER JOIN comments ON posts.post_id = comments.post_id

Or

SELECT * FROM posts NATURAL JOIN comments

(它们的效果是一样的)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在一个查询中获取多个表 的相关文章