【发布时间】:2011-12-01 22:07:01
【问题描述】:
我对 MySQL 比较陌生,这部分让我很困惑。
我正在构建一个简单的博客页面,它将显示一个博客以及与之关联的 cmets。我目前有两个表来处理这些数据:
博客
.blog_id (primary), .blog_title, .blog_date, .blog_post
评论
.comment_id (primary), .blog_id, .comment_name, .comment
我要做的是拉出一个与 ID 匹配的特定博客,然后拉出与该博客相关联的 cmets。这是我的查询:
SELECT * FROM blogs JOIN comments ON blogs.blog_id=comments.blog_id WHERE blogs.blog_id = $active ORDER BY comments.comment_id
此查询会提取正确的信息,但如果博客上有两个 cmets,它将在循环通过 cmets 时显示博客和所有内容两次。我想显示所有博客信息一次,然后让它循环通过 cmets。
我希望我解释清楚了。任何帮助都会很棒。谢谢。
【问题讨论】:
-
好吧 - 只需存储当前博客的 id 并在下一次迭代时检查它。如果相同 - 不要输出它
-
把查询分成两步怎么样?第一个您将获得博客数据,第二个您将获得该博客的所有评论。
-
我希望在一个查询中执行此操作。是否可以尝试构建一个 sub...er..nested 查询?如果是这样,我怎么能在这里使用它?
标签: php mysql inner-join