两张表[t_Class][t_Article]首先提取[t_Class]中的top 4
select top 4 c_Id,c_Name from [t_Class] order by c_Order ASC再根据查询到的 c_Id 来获取[t_Article]中的最新一篇文章与之一一对应
select top 1 a_Id,a_Title from [t_Article] where a_ClassId=[上面查询的到的c_Id] order by a_Addtime DESC求以上说明中的一个组合查询,谢谢
select top 4 c_Id,c_Name from [t_Class] order by c_Order ASC再根据查询到的 c_Id 来获取[t_Article]中的最新一篇文章与之一一对应
select top 1 a_Id,a_Title from [t_Article] where a_ClassId=[上面查询的到的c_Id] order by a_Addtime DESC求以上说明中的一个组合查询,谢谢
from (select top 4 c_Id,c_Name from [t_Class] order by c_Order ASC) t
order by a_Id desc)
from (select top 4 c_Id,c_Name from [t_Class] order by c_Order ASC) t
order by a_Id desc)手误修正
top 1 a_Id,a_Title
from
[t_Article] t
where
a_ClassId=(select max(c_Id) from (select top 4 c_Id,c_Name from [t_Class] order by c_Order ASC)t)
;with t as
(
select top 4 rn=row_number()over(ORDER by c_Order),*
from [t_Class]
)
select top 1 a.a_Id,a.a_Title
from [t_Article] a,t
where a.a_ClassId=t.c_Id
;with t as
(
select top 4 rn=row_number()over(ORDER by c_Order),*
from [t_Class]
)
select top 1 a.a_Id,a.a_Title
from [t_Article] a,t
where a.a_ClassId=t.c_Id
and t.rn=4MODIFY
from t_Class c inner join t_Article a
on c.c_Id=a.a_ClassId
order by c.c_Order asc,a.a_Addtime DESC
where t.a_ClassId=t1.a_ClassId
and t.a_Id =(select top 1 a_Id
from [t_Article]
where t.a_ClassId=a_ClassId )
order by a_Addtime DESC
试试看,有数据吗
只不过得到的3条,将 top 4 改成 5 就可以得到我想要的了
from (select top 4 c_Id,c_Name from [t_Class] order by c_Order ASC) t
order by a_Id desc)