У меня есть две таблицы:
КЛИЕНТЫ
ID NAME
001 John
002 Sara
CLIENT_STATUS
CLIENT_ID STATUS DATE
001 3 2018-01-02
001 2 2018-01-04
002 2 2018-01-02
002 1 2018-01-03
Я хочу отфильтровать по status = 1
, и я просто хочу самую последнюю датув течение указанного периода времени.
Пока у меня есть:
DECLARE
@StartDate DATE,
@EndDate DATE
SET @StartDate = '2016-07-01'
SET @EndDate = '2018-06-30'
SELECT
c.NAME
, c.ID
, cs.STATUS
FROM CLIENT c
LEFT JOIN (
SELECT cs.CLIENT_ID, cs.DATE
FROM CLIENT_STATUS
WHERE STATUS = 1 AND h.DATE BETWEEN @StartDate AND @EndDate
) AS hst ON hst.CLIENT_ID = c.ID
Только это не Порядок по самой последней дате.
Обратите внимание, что это часть более крупного запроса.