select ROW_NUMBER()over(order by cardcode desc) as row,* from ocrd--05

解决方案 »

  1.   

    select  (select count(1) from ocrd where cardcode >T0.cardcode ) as primaryid,* from ocrd T0 
    order by (select count(1) from ocrd where cardcode >T0.cardcode ) 
    --> order by 1 就可以了.
    select  (select count(1) from ocrd where cardcode >T0.cardcode ) as primaryid,* from ocrd T0 
    order by 1 PS:
    临时表,或者表变量可以不?
    select identity(int,1,1) as id ,* into #temp from from ocrd order by 1
      

  2.   

    TO: roy_88 谢谢你的回复
    ..我在sql2K里面的,有什么好办法吗?
      

  3.   

    生成臨時表,不如用樓主的就行了。簡化一下order by 用別名列
      

  4.   

    TO: hery2002
    谢谢你的回复 
    我是想通过sql语句 一次性在前台显示
      

  5.   

    2000要么直接Count,你自己写出来了,要么临时表标识列,除此之外别无他法。