当前位置: 代码迷 >> Sql Server >> 请问提取指定时间范围记录的sql语句
  详细解决方案

请问提取指定时间范围记录的sql语句

热度:207   发布时间:2016-04-25 01:17:14.0
请教提取指定时间范围记录的sql语句
有表 t1 和 表 t2,请看下面格式, t1有着每个人每天的进出记录,对于 t1表,我搜索 2012-05-01 至 2012-05-30,我并不希望提取该时间范围内所有的进出记录,而是根据t2表来提取该人相应日期之前的进出记录,例如tom,只是提取 2012-05-01 至 2012-05-15 的记录,兼顾效率的前提,请问 sql语句该怎么写?
 
表 t1 
userName enterDate
tom 2012-05-01
kitty 2012-05-03
may 2012-05-09
tom 2012-05-11
tom 2012-05-15
.......
.......
kitty 2012-05-09
kitty 2012-05-15
kitty 2012-05-23


表 t2
userName date
tom 2012-05-15
kitty 2012-05-16
may 2012-05-25 


------解决方案--------------------
SQL code
select t1.*from t1join t2 on t1.username=t2.username and t1.enterDate<=t2.date
------解决方案--------------------
SQL code
declare @date1 datetime,@date2 datetimeselect @date1='2012-05-01',@date2='2012-05-30'select * from t1,t2 where t1.userName=t2.userName     and t1.enterDate between @date1 and @date2    and t1.enterDate<t2.date
  相关解决方案