现在有一张表 里面有三种类型(type1,type2,type3)的记录 ,现在通过存储过程显示到主页上:
要求:主页有一级显示区域一个 ,三个二级显示区域(二级就是分别显示type1,type2,type3的记录),现在要求二级区域显示对应类型最近更新的N条记录,一级区域显示最近更新的M条记录 记录所选的范围是整张表(也就是type1,type2,type3的记录) 但是要求在二级区域显示的记录不在一级区域不显示。

解决方案 »

  1.   

    --一级显示区域
    select top 10 * from tablename order by createtime desc--第一个二级显示区域
    select top 10 * from tablename where type='type1' order by createtime desc--第二个二级显示区域
    select top 10 * from tablename where type='type2' order by createtime desc--第三个二级显示区域
    select top 10 * from tablename where type='type3' order by createtime desc
      

  2.   

    --一级显示区域
    select top 10 * from tablename order by createtime desc--第一个二级显示区域
    select top 10 * from tablename where type='type1' and type1 not in (select top 10 type1  from tablename order by createtime desc) order by createtime desc--第二个二级显示区域
    select top 10 * from tablename where type='type2' and type1 not in (select top 10 type1  from tablename order by createtime desc) order by createtime desc--第三个二级显示区域
    select top 10 * from tablename where type='type3' and type1 not in (select top 10 type1  from tablename order by createtime desc) order by createtime desc