在一个查询中从两个表中选择多个数据

时间:2015-04-11 07:47:40

标签: mysql

我有两个表:帖子和评论。帖子中的标识符列为post_id。每条评论都post_id指向回复的帖子。

posts             comments
- post_id         - comment_id
- message         - message
- time            - time
                  - post_id

我需要的是:选择帖子,以及每个所选帖子上发布的评论。

我现在做什么:我有两个问题。

  1. 选择帖子的第一个查询,然后我循环,将所有post_ids保存到数组中。
  2. 然后第二个查询,根据上一步中保存的post_ids选择所有评论。
  3. 然后我循环注释并将它们添加到posts变量中。
  4. 我想做什么,不知道如何:在一个查询中获取帖子和评论。

3 个答案:

答案 0 :(得分:0)

尝试 -

select * from posts join comments on posts.post_id = comments.post_id
希望能做到这一点。

答案 1 :(得分:0)

您可以使用join概念。有关详细信息,请参阅http://www.sitepoint.com/understanding-sql-joins-mysql-database

答案 2 :(得分:0)

使用join子句:

SELECT * 
  FROM posts AS p, 
       comments AS c
 INNER JOIN posts ON p.post_id = c.post_id;