Использование Over () и Partition By возвращает NULL в Oracle - PullRequest
1 голос
/ 14 мая 2019

Я использовал следующий запрос

 select  distinct max( MONITORING_INT)  over(partition by  PATIENT_ADM_ID) Interval
 from PATIENT_PART
 where PATIENT_ADM_ID=1466;

и он возвращает 456.

Запрос с проблемным выводом выглядит следующим образом

SELECT DISTINCT lv.NAME AS Delivery_Mode,
  pp.DELIVERY_DATETIME,


  pp.LAST_PV_EXAMINATION_DATE ,
  max( pp.MONITORING_INT)  over(partition by  pp.PATIENT_ADM_ID) Interval
FROM PATIENT_PART pp
LEFT JOIN LOOKUP_VALUES lv
ON lv.id=pp.DELIVERY_MODE_ID
WHERE pp.PATIENT_ADM_ID=1466;

Выведите

Delivery_Mode DELIVERY_DATETIME                  LAST_PV_EXAMINATION_DATE        Interval 
 SVD          22-APR-19 12.00.00.000000000 AM    25-APR-19 12.00.00.000000000 AM   (null)

, но когда я использую те же функциональные возможности max() и over() в списке select в приведенном выше запросе, он возвращает null.Пожалуйста, дайте мне знать причину!

...