Hi @ASHMITP
Try this:
WITH CTE as (
SELECT DISTINCT [RESPONSIBLE_OSP_HEALTH_ORG_FULL_NAME]
,[SE_WARD_KEY]
,[SE_CBK_SK]
,[SE_REC_ID]
,[SERVICE_ENC_REC_ID]
,[HEALTH_SERVICE_WARD_NAME] as FIRST_WARD
,isnull(WARD_LOS_MIN,-1) as FIRST_WARD_LOS_MIN
,isnull(LEAD([HEALTH_SERVICE_WARD_NAME],1) OVER (PARTITION BY [SERVICE_ENC_REC_ID] ORDER BY [SE_WARD_SEQ] ASC),'-1') as SECOND_WARD
,isnull(LEAD(WARD_LOS_MIN,1) OVER (PARTITION BY [SERVICE_ENC_REC_ID] ORDER BY [SE_WARD_SEQ] ASC),-1) as SECOND_WARD_WARD_LOS_MIN
,C.LAST_WARD
,C.LAST_WARD_LOS_MIN
,[SE_WARD_SEQ]
FROM table T CROSS APPLY (SELECT TOP(1)[HEALTH_SERVICE_WARD_NAME] AS LAST_WARD,
[WARD_LOS_MIN] AS LAST_WARD_LOS_MIN
FROM table ORDER BY [SE_WARD_SEQ] DESC)C
WHERE SE_WARD_SEQ in (-1,1,2)
)
SELECT * from CTE
WHERE SE_WARD_SEQ in (-1,1)
Best regards,
LiHong
If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our Documentation to enable e-mail notifications if you want to receive the related email notification for this thread.