如何为给定范围内的每一天创建一个新的温度 table?

How can I create a new temp table for each day given in a range?

我需要根据示例

中给出的天数创建临时 table

我需要 tables 2015-06-082015-06-29,我将创建 22 个临时 tables,每个都有自己的日期数据。

我的查询将 select 数据循环输入到这些临时 table 中,唯一需要更改的是日期。

因为这里的每个人都建议你不需要每个日期的 table 而是每个日期的 table 中的一行,而且你不一定需要存储结果进入温度 table.

您可以编写生成此日期范围的查询,并将现有查询与日期范围查询的结果结合起来。

存储查询结果有利于人们直观地查看数据,但如果您有查询,sql 服务器不需要临时 table 中的数据来继续进行数据处理你知道它会产生一个特定的结果集,你可以加入另一个 table 与那个结果集,你在运行时看不到结果集但是 sql 服务器在运行时获取那个结果集并加入它用你的 table.

现在,如果我已经说服您不需要每个日期的临时 table,那么希望我们来谈谈解决方案。

您只需要一个查询,它会生成一个日期范围为 2015-06-082015-06-29 的结果集,为此您可以执行以下操作:

DECLARE @From DATE = '2015-06-08' 
DECLARE @To   DATE = '2015-06-29'

SELECT Dates 
FROM 
  (
    SELECT TOP  (DATEDIFF(DAY,@From , @To))
      DATEADD(DAY , 
                  ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
                ,@To) AS Dates
   FROM master..spt_values
  )Dates_Table

以上查询将生成一个带有日期的结果集,现在您可以将另一个 table 与该结果集连接起来以获得您需要的最终结果。