是指在 * 号前,还是在每个查询的 Top (num) 前面.
因为无论怎样,嵌套SQL里都要用到这些相同的排序字段,不然查出来的记录就会有问题.
这里not in 主要分页思想是查出top 50,其中不在top 40中的记录,即得到第5页,10一页的记录.
...
人有点调晕了,花了一个上午还没写好这个分页类.
现在是当局者迷糊中.....喝杯茶先

解决方案 »

  1.   

    hehe,
    select * 之后,或存入临时表在处理阿。
      

  2.   

    select distinct * from 
    (
    --你的代码
     select  * FROM 
    ( select  top 15  Job_NO,C_ID,C.Customer_Name,StatusNo,Pay_Date,Create_Date FROM EServices,Customers C  where  Job_No  not in 
    ( select  top 30  Job_No  FROM  EServices,Customers C  where (1>0)  and C.ID= EServices.C_ID  Order by  StatusNo,Pay_Date,Create_Date   DESC 

    and C.ID= EServices.C_ID  order by  StatusNo,Pay_Date,Create_Date  DESC 

    as TempTB order by  StatusNo,Pay_Date,Create_Date   ASC--
    )
      

  3.   

    很晕的问题出现了,我总发现有一个重复的记录.
    当我绑定数据的时候才发现,
    现有105条记录.
    第一个top 15 返回的16个记录. 最后一页返回是12条记录.
    结果是第58条记录重复出现.
    第一页:
    sqlBuild = 
    "SELECT DISTINCT Top "+pageSize + " " + fieldName + " FROM (" + 
    sqlSelectHead + " top " + pageSize + " " + fielddName + " FROM " + 
    tbName + " WHERE (1>0)" +
    sqlCondition + " ORDER BY " + sortName + " " + sortASC +
    ")" + " ORDER BY " + sortName + " " + sortASC;
      

  4.   

    各位,昨天仍是没有解决这个问题.提出的解决方法都有问题.
    我的测试记录为105条,每页15个记录.共7页.(方法如上面所述)
    1. 加select distinct * from (  my result )
    这里仍有大量的重复记录出现.
    2. 加select distinct top "pagesize" from (my result)
    这里存在少量记录重复,第一页为16个记录,最后一页为12个记录.
    3.最简单的排序截取都有重复记录问题.
    可能是多表关联,与结果集排序的原因.但已经想不出什么好方法了.现在都是简单的关联都无法成功.....................
    这已经是连续三帖了,期待解决方法.
    有曾碰到这个问题的朋友也请给个折衷的方案,谢谢