我已使用以下查询
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
。请让我知道原因!