我正在尝试建立一个简单的论坛作为学习练习。目前我有一个主题(问题)表和一个帖子表(其中post_thread_id指的是主题ID)。
我想按照该主题中最新帖子的显示顺序显示主题。在线查看我使用了这个命令:
SELECT topics.topic_title, topics.topic_date, topics.topic_title, max( posts.post_date )
FROM topics
LEFT OUTER JOIN posts ON topics.topic_id = posts.post_thread_id
GROUP BY topics.topic_id
ORDER BY MAX( posts.post_id ) ASC
似乎有用。但是如果没有链接到主题的帖子(即空主题),它就不起作用,因为每次都会出现NULL。我想要它,这样如果没有帖子,则主题日期用于订购。
如果没有帖子,如何选择主题日期?
谢谢(我很欣赏一个简单的解释,说明它是如何工作的,因为我正在努力学习)。
答案 0 :(得分:0)
ORDER BY
CASE WHEN MAX( posts.post_id ) IS NULL THEN 1 ELSE 0 END ASC
自我解释,当MAX(post_Id)为空时,它将改变订单优先级。