循环遍历两个表以生成新表

时间:2012-05-25 14:18:05

标签: sql tsql

我想做一个表值函数,它从给定的数字表中返回当天出现的日期和数字。

我已经提供了一个功能,你提供了一个开始和结束日期,以获得所需的所有日期(dbo.Dates(@start,@ finish)和数字表,其中包含我每天所需的数字

表格如下

日期|

日(日期时间)

数字|

数字int name varchar

我需要的输出如下。

Date     | Number
------------------
20120501 |  1 
20120501 |  2
20120501 |  3
20120502 |  1
20120502 |  2
20120502 |  3
20120503 |   1
....

1 个答案:

答案 0 :(得分:2)

如果您需要所有日期的所有号码,请使用交叉联接:

select d.date, n.number
from dbo.Dates(@start, @finish) cross join
     Numbers n

然后你只需要在其周围放置“create function”包装器以获得一个表值函数。