Выборка данных за прошлый месяц определенного числа

Таблица: period datetime2, den int, price numeric(18,2), price_day_29

Сейчас: введите сюда описание изображения

Необходимо сделать такой: введите сюда описание изображения

Мне необходимо справа от price_day_29 вставить еще один столбец, НО при условии, что там данные будут отображаться за прошлый месяц, т.е. 2022-03-29

Сейчас я сделал просто запрос, чтобы вывести подходящие данные. Далее уже перепишу, как мне надо будет. В данном случае считает от текущего дня, а мне надо от именно от 29 числа любого месяца, т.е 2022-04(-1)-29.

select *
from table
where period>=dateadd(month,datediff(month,0,current_timestamp)-1,0)
  AND period< dateadd(month,datediff(month,0,current_timestamp)  ,0)

p.s. то что в феврале бывает 28 дней то это не так страшно в моем случае)


Ответы (2 шт):

Автор решения: Марина Николаева

Внутри DATEDIFF можно использовать SELECT

→ Ссылка
Автор решения: Vitaliy Zlobin
select *
        ,IIF(den = 29 AND DATEDIFF(MONTH, [period], GETDATE()) = 0, price, 0) AS price_day_29
        ,IIF(den = 29 AND DATEDIFF(MONTH, [period], GETDATE()) = 1, price, 0) AS price_day_29_prev
from table
where period>=dateadd(month,datediff(month,0,current_timestamp)-1,0)
  AND period< dateadd(month,datediff(month,0,current_timestamp)  ,0)
→ Ссылка