Заполнение пропущенных дней со стола - PullRequest
2 голосов
/ 02 мая 2019

Не могли бы вы помочь мне в sql, у меня есть таблица, откуда я получаю данные за день.Допустим,

Select * from #tempTable

Результат: -

Day      Amount
-----------------   
Saturday 16128.00
Monday  527008.00
Tuesday 407608.00

В приведенном выше запросе вы можете увидеть, что отсутствует результат «Воскресенье», так как заполнить эти пропущенные дни.

1 Ответ

2 голосов
/ 02 мая 2019

Попробуйте это

SELECT  DayNames, [Amount]
FROM
(
SELECT 'Saturday' AS [Day], 16128.00  AS [Amount] UNION ALL
SELECT 'Monday'  ,527008.00 UNION ALL
SELECT 'Tuesday' ,407608.00
)DT
RIGHT JOIN 
(
SELECT DATENAME(dw,DATEADD(Dw,number,GETDATE())) As DayNames
FROM
    (
        SELECT DISTINCT number 
        FROM master.dbo.spt_values
        WHERE number BETWEEN 1 AND 7
        )dt2
    )Final
ON Final.DayNames = [Day]

Результат

DayNames    Amount
-----------------------
Friday      NULL
Saturday    16128.00
Sunday      NULL
Monday      527008.00
Tuesday     407608.00
Wednesday   NULL
Thursday    NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...