首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

交叉取时间解决方法

2012-04-26 
交叉取时间字段SQL codestartDateendDate2012-1-12012-1-1......2012-1-152012-1-16表中数据是出差的记录

交叉取时间
字段

SQL code
startDate  endDate2012-1-1   2012-1-1...         ...2012-1-15  2012-1-16


表中数据是出差的记录
现在要把多条记录合成一条记录,开始日期取第一条的开始日期,结束日期取最后一条的结束日期

请大家帮忙

[解决办法]
只取两条记录么。
[解决办法]
SQL code
create table tb( startdate datetime, enddate datetime)insert into tbselect '2012-1-1','2012-1-1' union allselect '2012-1-4','2012-1-6' union allselect '2012-1-15','2012-1-16' select MIN (startdate),MAX (enddate) from tb
[解决办法]
SQL code
create table mpt(startDate date, endDate date)insert into mptselect '2012-1-1', '2012-1-1' union allselect '2012-1-15', '2012-1-16'with t as(select row_number() over(order by (select 0)) rn,startDate,endDate from mpt)select (select startDate from t where rn=1) startDate,(select top 1 endDate from t order by rn desc) endDatestartDate  endDate---------- ----------2012-01-01 2012-01-16(1 row(s) affected) 

热点排行