将3个查询链接在一起

时间:2010-12-20 06:42:12

标签: mysql inner-join

我整天都在努力,我认为我的大脑现在不能正常运作。

我有3张桌子全部“链接”在一起:
板桌有:
  - board_id
  - board_name

主题表有:
  - topic_id
  - topic_board_link(指向board_id的链接)

邮政表有:
  - post_time
  - post_parent(链接到主题)

基本上,我希望它显示电路板,所选电路板中的最后一个主题,以及该线程中的最后一个帖子。到目前为止,由于我的大脑功能不足,我有(不起作用,因为max_topic最后没有定义,只返回1行):

SELECT 
    b.board_name,
    MAX(t.topic_id) as max_topic,
    MAX(p.post_id) as max_post
FROM board_list b
    INNER JOIN (topic_list t, post_list p)
    ON t.topic_board_link=b.board_id AND p.post_id=max_topic

有没有办法可以在不使用大量子查询的情况下执行此操作?

1 个答案:

答案 0 :(得分:0)

last_topic_id添加到boards表,将last_post_id添加到topics表。

在这种情况下,您将拥有简单且非常快速的查询,它将返回您想要的所有内容。