sql选择并插入日期范围

时间:2014-03-28 21:14:21

标签: sql sql-server stored-procedures

我需要像这样插入。我知道开始日期

所选用户集中每个用户的7天日期

从表中选择名称

SELECT NAME FROM USERS

我想从用户中选择名称并向其添加日期并插入另一个表格,如下所示

Name        Date
----------------------
A           01/01/2014
A           02/01/2014
A           03/01/2014
B           01/01/2014
B           02/01/2014
B           03/01/2014
C           01/01/2014
C           02/01/2014
C           03/01/2014

基本上我需要将上面选择的结果插入

我只知道开始日期,所以如果我想添加7天,那么每个用户都会获得7条记录

由于

1 个答案:

答案 0 :(得分:1)

我明白了,谢谢大家来看看这就是答案

 DECLARE @StartDate DATE = '20140101', @EndDate DATE = '20140107' 
 SELECT DATEADD(DAY, nbr - 1, @StartDate) as Dates,
 Name FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY c.object_id ) AS Nbr 
 FROM sys.columns c) nbrs,
 Users WHERE nbr - 1 <= DATEDIFF(DAY, @StartDate, @EndDate)
 ORDER BY Name ASC, Dates ASC