标题可能有误下面这句执行后,数据列表最前面有个排序1 2 3 4 .....
如何在SQL语句本身中得到这个值?
exec('select * from a')比如:
exec('select *,i as newid from a')

解决方案 »

  1.   

    SQL Server 2005里可以用ROW_NUMBER()
      

  2.   

    if object_id('ta')is not null drop table ta
    go
    create table ta(ID int,    Vessel varchar(10) )
    insert ta select 1,      'aa' 
    insert ta select 2,      'bb' 
    insert ta select 3,      'cc' 
    insert ta select 5,'gg'
    insert ta select 7,'kk'
    exec('select *,cnt=(select count(*) from ta where id<=t.id) from ta t')
    /*ID          Vessel     cnt         
    ----------- ---------- ----------- 
    1           aa         1
    2           bb         2
    3           cc         3
    5           gg         4
    7           kk         5*/
      

  3.   


    select *,row_number() over(order by XXX) as row_Num from a
      

  4.   

    wufeng4552
    如何使cnt的值不受排序影响?