Это дата пациент посетил больницу:T-SQL: список дат с самой последней предыдущей датой
NAME DISCHARGEDATE
---------------------
Eva 1/1/17
Eva 1/10/17
Eva 2/8/17
мне нужна список пациентов, финики посетили больницу вместе с самым последней предыдущей датой они посетили больницы, как это:
NAME DISCHARGEDATE PREVIOUSDISCHARGEDATE
-----------------------------------------------
Eva 1/1/17 NULL
Eva 1/10/17 1/1/17
Eva 2/8/17 1/10/17
Я пытался RowNum() и Top 1 и коррелированные подзапросы, и я просто не могу получить его. Спасибо.
Вот сценарий, я написал для реальности она возвращает посещения пациента, но «NULL» для всех полей из второй таблицы:
SELECT
ad.Name,
ad.DischargeDate,
PrevDisch.DischargeDate as PrevDischDate
FROM
AbstractData AS ad
LEFT JOIN
(SELECT TOP 1
DischargeDate, UnitNumber, VisitID
FROM
AbstractData AS ad2
WHERE
SourceID = 'BLD'
AND PtStatus in ('IN', 'INO')
AND DischargeDateTime > @ReadmitStartDate
--AND ad2.DischargeDate < ad.DischargeDate
ORDER BY
UnitNumber, DischargeDate) AS PrevDisch ON ad.UnitNumber = PrevDisch.UnitNumber
AND PrevDisch.DischargeDate < ad.DischargeDate
AND PrevDisch.DischargeDate IS NOT NULL
WHERE
ad.Name = 'Eva'
какая у вас версия сиквельного сервера? – Kostya
Предполагая, что 1/20/17 является опечаткой –
Да, спасибо, я ее отредактировал. –