Вы можете использовать ниже SQL Query for, чтобы получить свой результат.
При этом использовались курсор и имена столбцов, а псевдоним может потребоваться изменить в соответствии с вашими требованиями.
SET NOCOUNT ON
DECLARE @mindate date
DECLARE @maxdate date
DECLARE @parameter char(5)
DECLARE @value smallint
Declare @temp table( fromdate date, Parameter char(5),val smallint)
DECLARE cur_date CURSOR
STATIC FOR
SELECT [from],[to], [parameter],[val] from temp1
OPEN cur_date
IF @@CURSOR_ROWS > 0
BEGIN
FETCH NEXT FROM cur_date INTO @mindate,@maxdate,@parameter, @value
WHILE @@Fetch_status = 0
BEGIN
INSERT INTO @temp
SELECT TOP (DATEDIFF(DAY, @mindate, @maxdate) + 1)
Date = DATEADD(DAY, ROW_NUMBER() OVER(ORDER BY a.object_id) - 1, @mindate), @parameter as Parameter, @value as Val
FROM sys.all_objects a
CROSS JOIN sys.all_objects b
FETCH NEXT FROM cur_date INTO @mindate,@maxdate,@parameter, @value
END
END
CLOSE cur_date
DEALLOCATE cur_date
SELECT * FROM @temp