ID 和单号是两个字段吧
如果是这样,加一个就可以了,然后按ID排序

解决方案 »

  1.   

    select * from t1 inner join t2 on t1.id=t2.id order by t1.id
      

  2.   

    id     单号       器材编码   器材名称  ....    ....
    44    000001       0302        钢材
    45    000001       0304        木材
    46    000002       0302        钢材
    47    000003       0304        木材
    48    000003       0305        水泥
    现在就是 可以任意显示一个 单号 里的第几种(从一开始)器材(根据id的大小)。如果要找0000001的单号的第一种器材则显示
    1   000001   0302  钢材
    如果要找0000001的单号的第二种器材则显示
    2   000001   0304  木材
      

  3.   

    假定找单号为XXX的第N种器材select top 1 * from (select top N * from 表 where 单号='XXX' order by id) a order by id desc
      

  4.   

    第一种器材
    select top 1 * from (select top 1 * from 表 where 单号='0000001' order by id asc) a order by id desc第二种器材
    select top 1 * from (select top 1 * from 表 where 单号='0000001' order by id asc) a order by id desc第n种器材
    select top 1 * from (select top n * from 表 where 单号='0000001' order by id asc) a order by id desc
      

  5.   

    CREATE table #t (id int, 单号 varchar(20), 器材编码 varchar(100), 器材名称 varchar(100), n int)
    Insert #t (id, 单号, 器材编码, 器材名称, n) select id, 单号, 器材编码, 器材名称, 0
    from 表 where 单号 = '000001'
    declare @max int, @min int
    select @max = max(id), @min = min(id) from #t
    while @min <= @max
    begin
      update #t set n = n + 1 where id = @min
      set @min = @min + 1
    end
    第一种器材
    select * from #t where n = 1
    第二种器材
    select * from #t where n = 2
    drop table #t