Дата SQL и последние записи ввода - PullRequest
0 голосов
/ 16 мая 2018

У меня есть поле даты и времени "Insurance_Start_Date" в Таблице A, и мне нужно добавить следующие квалификации в запрос.

  1. Получить все записи, начиная с 1 апреля предыдущего года. Пример: Insurance_Start_Date> = 2017-04-01. Но я не хочу, чтобы значение было жестко закодировано.

  2. Если один и тот же участник имеет 2 записи с разной датой Insurance_Start_Date. Тогда я хочу видеть только последние записи в моем выводе.

1 Ответ

0 голосов
/ 17 мая 2018

Вы можете использовать переменную ...

declare @startDate datetime = cast(datepart(year,dateadd(year,-1,getdate())) as char(4)) + '0401'

select...from...where Insurance_Start_Date >= @startDate

Для второго вопроса вы можете использовать оконную функцию ...

;with cte as(
select *, RN = row_number() over (partition by memberColumnID order by Insurance_Start_Date desc)
from YourTable
where Insurance_Start_Date >= @startDate)

select * from cte where RN = 1
...