0
我一直在研究这一整天,而且我认为我的大脑现在不能正常工作。将3个查询链接在一起
我有3个表中的所有 “链接” 在一起:
板表有:
- board_id
- board_name
主题表有:
- topic_id
- topic_board_link(链接到一个board_id)
帖子表有:
- post_time
- post_parent(链接到顶部ic)
本质上,我希望它显示董事会,所选董事会的最后一个主题,以及该主题中的最后一篇文章。到目前为止,与我的一半运转的大脑,我已经(不工作,因为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
有没有一种方法,我可以做这不需要大量的子查询?
我想过这个,但是主题和帖子往往会很快被删除,而且我有一种感觉,从长远来看,某些东西不可避免地会变得混乱起来。 – 2010-12-20 06:57:35
@kevin:删除和维护此引用是** MUCH CHEAPER **任务,而不是使用子查询进行选择。您可以使用触发器自动维护它们。 – zerkms 2010-12-20 07:51:21
呃,好吧。那么我会这样做。触发器究竟是什么意思? – 2010-12-20 07:57:14