select date,sbsj,zc,ms=(select top 1 zc from table1 b where datediff(d,a.date,b.date)>0 order by b.date)
from table1 a order by a.date

解决方案 »

  1.   

    --笔误
    select date,sbsj,zc,ms=(select top 1 sbsj from table1 b where datediff(d,a.date,b.date)>0 order by b.date)
    from table1 a order by a.date最后一条记录的ms字段还是为null,你想怎么实现?
      

  2.   


    update a set ms=(select min(sbsj) from table1 where sc=a.sc and date>a.date)
    from table1 a
      

  3.   

    --如果可以保证date是按天递增的,则可以用:
    update a set ms=b.sbsj
    from table1 a,table2 b
    where a.date=b.date-1
      

  4.   

    alter table table1 add id int identity(1,1)
    GO
    update a
    set ms=(select sbsj from table1 where id=(select id from table1 where dat=a.dat+1))
    from table1 a
    GO
    alter table table1 drop column idGO
    select * from table1
      

  5.   

    顶!我自个儿学用的方法是futulove(福途£爱)所说的这种,感觉比较好理解一点;
      

  6.   

    请问大家一个问题,我刚用SQL SERVER 不久,所以还不太懂,这个问题似乎有点太简单,可是我还是不太懂,请各位高手帮帮忙!
    我的系统是2000的,只装了客户端组件,可是每次打开都启动不了,说是sql server不存在或访问被拒绝,在企业管理sql server组中新建注册也注册不了,服务器里好象没有可以选择的对象,包括本机也没有,我不知道该怎么办了,是不是要把本机设置为服务器呢?该怎么设置呢?请各位帮忙!!
      

  7.   

    不懂邹兄语句中sc=a.sc 什么意思
      

  8.   

    update a  --table1 的别名
    set ms=(select min(sbsj) from table1 where sc=a.sc and date>a.date)
    from table1 asc=a.sc --同表的同字段
      

  9.   

    declare @i int
    select @i=min(sbsj) from table1 where sc=a.sc and date>a.dateupdate a  --table1 的别名
    set ms=@i
    from table1 a这样理解吧!
      

  10.   

    TABLE1  userid      DATE       SBSJ     ZC   MS
       100     2004-08-01    07:55     A    NULL
       100     2004-08-02    07:50     A    NULL
       100     2004-08-03    07:56     A    NULL
       100     2004-08-04    07:51     A    NULL
       100     2004-08-05    07:57     A    NULL
       101     2004-08-01    07:55     A    NULL
       101     2004-08-02    07:50     A    NULL
       101     2004-08-03    07:56     A    NULL
       101     2004-08-04    07:51     A    NULL
       101     2004-08-05    07:57     A    NULL
    ....要求查询结果:   userid       DATE       SBSJ     ZC   MS
        100       2004-08-01    07:55     A    07:50
        100       2004-08-02    07:50     A    07:56
        100       2004-08-03    07:56     A    07:51
        100       2004-08-04    07:51     A    07:57    101       2004-08-01    07:55     A    07:50
        101       2004-08-02    07:50     A    07:56
        101       2004-08-03    07:56     A    07:51
        101       2004-08-04    07:51     A    07:57....即MS的值等于下一天的SBSJ的值,请问语句该怎么写?