求一个论坛帖子排序sql语句
主贴表 Leave
id int
title
time
content
回复表 Reply
id
content
tid
time
Reply.tid=Leave.id
要求 这里有两个时间,也就是 发帖时间 Leave.time 和 回帖时间 Reply.time
如果 主贴 在 回帖表 有 回复的数据,则取 回复 的最后时间
如果 主贴 在 回帖表 没有 回复的数据,则取 发表 的时间
用取的时间作比较 倒序排序
也就是说,我发了个帖子,
【有人回复】,则用这个回复的时间去和其他帖子的发帖时间【其他帖子没有回复信息】或者回复时间【其他帖子有回复信息】做比较,来倒序排序
【没有人回复】,则用这个发帖时间去和其他帖子的发帖时间【其他帖子没有回复信息】或者回复时间【其他帖子有回复信息】做比较,来倒序排序
求各大神帮忙...
------解决方案--------------------
SQL code
select
* from Leave as a left join (select tid,max([time]) as [time] from Reply group by tid) as b on a.ID=b.tid
order by isnull(b.[time],a.[time]) desc