首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这样的查询该怎么实现

2012-03-28 
这样的查询该如何实现?一张板块表A,一张帖子表B,一张回复表CA表有ID,还有其他的列先忽略,B表有ID还有发帖

这样的查询该如何实现?
一张板块表A,一张帖子表B,一张回复表C
A表有ID,还有其他的列先忽略,
B表有ID还有发帖时间列IssueTime和PID,其他的列先忽略,
C表有ID还有还有回复时间列IssueTime和PID,其他的列先忽略。
关联如下
C.PID= B.ID, B.TID = A.ID
查询目标是根据A表的ID查询出和B表关联的前20条数据,且需要根据C表关联的IssueTime来倒序排序
如果B表内有些数据在C表没有关联的数据则根据B表的IssueTime来倒序排序

用语言表达就是根据板块ID查询出前20条帖子并且根据回复时间倒序排序,如果无回复则根据发帖时间倒序排序

[解决办法]

SQL code
SELECT A.* FROM(select top 20 * from posts where BelongTopicID=17 order by issuetime desc)A left JOIN Replys on a.ID= Replys.BelongPostIDORDER BY Replys.IssueTime desc 

热点排行
Bad Request.