--笔误 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,你想怎么实现?
update a set ms=(select min(sbsj) from table1 where sc=a.sc and date>a.date) from table1 a
--如果可以保证date是按天递增的,则可以用: update a set ms=b.sbsj from table1 a,table2 b where a.date=b.date-1
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
顶!我自个儿学用的方法是futulove(福途£爱)所说的这种,感觉比较好理解一点;
请问大家一个问题,我刚用SQL SERVER 不久,所以还不太懂,这个问题似乎有点太简单,可是我还是不太懂,请各位高手帮帮忙! 我的系统是2000的,只装了客户端组件,可是每次打开都启动不了,说是sql server不存在或访问被拒绝,在企业管理sql server组中新建注册也注册不了,服务器里好象没有可以选择的对象,包括本机也没有,我不知道该怎么办了,是不是要把本机设置为服务器呢?该怎么设置呢?请各位帮忙!!
不懂邹兄语句中sc=a.sc 什么意思
update a --table1 的别名 set ms=(select min(sbsj) from table1 where sc=a.sc and date>a.date) from table1 asc=a.sc --同表的同字段
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这样理解吧!
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的值,请问语句该怎么写?
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,你想怎么实现?
update a set ms=(select min(sbsj) from table1 where sc=a.sc and date>a.date)
from table1 a
update a set ms=b.sbsj
from table1 a,table2 b
where a.date=b.date-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
我的系统是2000的,只装了客户端组件,可是每次打开都启动不了,说是sql server不存在或访问被拒绝,在企业管理sql server组中新建注册也注册不了,服务器里好象没有可以选择的对象,包括本机也没有,我不知道该怎么办了,是不是要把本机设置为服务器呢?该怎么设置呢?请各位帮忙!!
set ms=(select min(sbsj) from table1 where sc=a.sc and date>a.date)
from table1 asc=a.sc --同表的同字段
select @i=min(sbsj) from table1 where sc=a.sc and date>a.dateupdate a --table1 的别名
set ms=@i
from table1 a这样理解吧!
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的值,请问语句该怎么写?