无论内部连接的类别行数是多少,都可以选择x个帖子

时间:2009-07-11 16:13:46

标签: sql mysql join

包含一个或多个类别的博客帖子的表格。现在我想选择10个帖子并为每个帖子分类。这意味着内部加入后到类别表等的每个帖子。

问题:限制10只提供10行(例如,一个帖子有10个类别)。我希望每个帖子都有10个不同的帖子,每个帖子都有所有类别(例如,如果每个帖子都有2个类别,则应该返回20行)。

1 个答案:

答案 0 :(得分:1)

你需要发布你的表定义给人们很多帮助......但是假设你有一个表“故事”,其中“story_id”字段是它的主键,而一个表类别带有外键到故事id你可以这样做:

 select s.*,c.* 
 from story s 
 left outer join categories c 
      on c.story_id=s.story_id 
 where story_id in (select story_id from story order by pub_date desc limit 10)

子选择将拉出最近的10个故事ID,然后主要选择进行外部连接。