mysql论坛加入

mysql论坛加入,mysql,Mysql,我想做一个简单的论坛,我有3张桌子: `forum_forum_topic` ( `id`, `forum_slug`, `slug` ... ) `forum_user` ( `id`, `role`, `email`, `pass`, `name` ) `forum_forum_topic_message` ( `id`, `forum_topic_id, `forum_slug` , `user_id`, `message`,

我想做一个简单的论坛,我有3张桌子:

`forum_forum_topic` (
  `id`,
  `forum_slug`,
  `slug`
  ...
)

`forum_user` (
  `id`,
  `role`,
  `email`,
  `pass`,
  `name`
)

`forum_forum_topic_message` (
  `id`,
  `forum_topic_id,
  `forum_slug` ,
  `user_id`,
  `message`,
  `created_at`,
  `updated_at`,
)
我想得到所有的用户信息和最后一篇文章在该论坛的主题。现在我有一个问题:

SELECT ft . * , u.name
FROM forum_forum_topic ft
LEFT JOIN forum_user u ON u.id = ft.user_id
WHERE ft.forum_slug = "general-discussions"
ORDER BY ft.created_at DESC
现在我在一个查询中获得论坛主题和创建它们的用户(每个主题一行),是否可以在该主题行中获得最后一条消息信息(带有用户信息)? e、 g


我正在考虑这个解决方案。。。我没有测试。无论如何,它可能不是最好的,因为它很慢

SELECT ft . * , u.name, 
(select message from forum_forum_topic_message where user_id = u.id order by updated_at desc limit 1) as     'last_message'
FROM forum_forum_topic ft
LEFT JOIN forum_user u ON u.id = ft.user_id
WHERE ft.forum_slug = "general-discussions"
ORDER BY ft.created_at DESC

编辑:添加条件:“where user\u id=u.id”

但它只为所有主题提供相同的最后消息。。我想显示来自不同主题的最后消息。是的,抱歉,请尝试添加到子选择条件以匹配用户,我忘记了。我刚刚编辑了这篇文章。。。虽然我不确定您是否可以从subselect访问用户表…嗯,不,这不起作用,因为它只提供主题作者发布的消息。
SELECT ft . * , u.name, 
(select message from forum_forum_topic_message where user_id = u.id order by updated_at desc limit 1) as     'last_message'
FROM forum_forum_topic ft
LEFT JOIN forum_user u ON u.id = ft.user_id
WHERE ft.forum_slug = "general-discussions"
ORDER BY ft.created_at DESC