我的商店程序中有这个查询。查询是:
INSERT INTO #TeporaryTableAcquaMensile
SELECT 'WATER',CONVERT(varchar(12),GETDATE(),105),VALUE_START
FROM AA_V_MV_Obiettivi_x_modello_virtuale
WHERE CONVERT(varchar(12),GETDATE(),105) between DatEStart and DateEnd
and idtipoparametro=2 AND IDModelloVirtuale=15
此查询有效,但我想从DateStart到DateEnd每天插入一些值。
所以,例如,如果我有DateStart = 2015-12-01和DateEnd = 2015-12-31,我想插入我的临时表31记录。有可能这样做吗?
答案 0 :(得分:0)
试试这个
您需要创建一个包含1到31之间数据的数字表,然后使用
create table numbers(number int)
insert into numbers(number)
select top 31 row_number() over (order by (select 1)) from master..spt_values
INSERT INTO #TeporaryTableAcquaMensile
SELECT 'WATER',CONVERT(varchar(12),GETDATE(),105),VALUE_START
FROM AA_V_MV_Obiettivi_x_modello_virtuale, numbers
WHERE CONVERT(varchar(12),GETDATE(),105) between DatEStart and DateEnd
and idtipoparametro=2 AND IDModelloVirtuale=15
and number between 1 and datediff(day,dateend,dateStart)