Схема базы данных и пример ввода в вопросе отсутствуют, но это может быть подход, так как вам нужно только проверить наличие заметок, я думаю, что существует может решить вашу проблему.Apply также поможет, если вам нужно получить более одного значения из коррелированных подзапросов
DECLARE @StartDate Date
DECLARE @EndDate Date
Set @StartDate = '03/01/2018'
Set @EndDate = '03/25/2018'
Select ORD.PT_FIN, ORDER_MNEMONIC,
CASE WHEN EXISTS(SELECT 1 FROM [ED_NOTES_MASTER] WHERE RESULT_TITLE_TEXT = 'ED Physician' AND PT_FIN = ORD.PT_FIN AND RESULT LIKE '%99143%') THEN 'Yes' ELSE 'NO' END AS BILLED_SEDATION,
CASE WHEN EXISTS(SELECT 1 FROM [ED_NOTES_MASTER] WHERE NOTE_TYPE like '%PowerNote ED%' PT_FIN = ORD.PT_FIN AND RESULT LIKE '%Sedation%') THEN 'Yes' ELSE 'NO' END AS POWER_NOTE_SEDATION
FROM [ED_Orders_Import_Master] AS ORD
WHERE [Checkin_dt_tm] > @StartDate and [Checkin_dt_tm] < @EndDate AND
ORDER_MNEMONIC LIKE '%ketamine%' and ORIG_ORD_AS like '%Normal%' and
ORDER_STATUS like '%complete%'
ORDER by ORD.PT_FIN
Использование apply для получения заметки, только если это первый, я получил ваш текущий подход и переключил ваш INNERПРИСОЕДИНЯЕТСЯ К НАРУЖНЫМ ПРИМЕНЕНИЯМ с ТОП 1, чтобы выполнить то, что вы просите в названии
Select ORD.PT_FIN, NOTE.Tracking_GROUP, NOTE.AUTHOR,
FORMAT(ORD.CHECKIN_DT_TM, 'MM/dd/yyyy') as DOV, ORD.Order_Mnemonic,
ORD.order_status,
CASE WHEN ORDER_MNEMONIC LIKE '%ketamine%' THEN 'YES' ELSE 'NO' END
[KETAMINE ORDERED], ORD.DOSE,
CASE
WHEN NOTE.RESULT LIKE '%99143%' THEN 'YES'
ELSE 'NO'
END BILLED_SEDATION,
CASE
WHEN NOTE2.RESULT LIKE '%Sedation%' THEN 'YES' Else 'NO' END
POWERNOTE_SEDATION
FROM [ED_Orders_Import_Master] AS ORD
OUTER APPLY
(
Select TOP 1 *
FROM [ED_NOTES_MASTER]
Where PT_FIN = ORD.PT_FIN
ANd RESULT_TITLE_TEXT = 'ED Physician Charges' AND RESULT_DT_TM >
@StartDate and RESULT_DT_TM < @EndDate
ORDER BY RESULT_DT_TM
)
as NOTE
OUTER APPLY
(
Select TOP 1 *
FROM [ED_NOTES_MASTER]
Where PT_FIN = ORD.PT_FIN NOTE_TYPE like '%PowerNote ED%' AND RESULT_DT_TM > @StartDate and
RESULT_DT_TM < @EndDate
ORDER BY RESULT_DT_TM
)
WHERE [Checkin_dt_tm] > @StartDate and [Checkin_dt_tm] < @EndDate AND
ORDER_MNEMONIC LIKE '%ketamine%' and ORIG_ORD_AS like '%Normal%' and
ORDER_STATUS like '%complete%'
ORDER by ORD.PT_FIN