У меня возникли проблемы с определением ошибки в моем коде, которая произошла после того, как я добавил к нему агрегатную функцию. Каждый из submitterclaimnumber
элементов имеет несколько строк, каждая с увеличивающимися значениями в столбце seqnumber
.
Я пытаюсь вытащить строку с самым высоким seqnumber
для каждого конкретного submitterclaimnumber
.
Например. У меня submitterclaimnumber
999 с несколькими строками. Каждая строка отличается другим значением в seqnumber
, поэтому у меня есть: submitterclaimnumber
= 999 seqnumber
= 1 submitterclaimnumber
= 999 seqnumber
= 2 submitterclaimnumber
= 999 seqnumber
= 3
Я хочу, чтобы отображалось только submitterclaimnumber
= 999 seqnumber
= 3.
При необходимости я могу предоставить немного больше информации о том, как настраивается стол.
Я получаю следующую ошибку:
«Ошибка выбора. 904: ORA-00904:« MAX_SEQ »: недопустимый идентификатор»
SELECT
CR.CLAIMNUMBER
,CR.LINENUMBER
,SUBSTR(CLM.SUBMITTERCLAIMNUMBER,3,11) AS CLM_NBR
,CR.SEQNUMBER
,MAX(CR.SEQNUMBER) AS MAX_SEQ
,CR.VOLUME
,CR.VOLUMETYPE
,CR.RATE
,CR.RATETYPE
,CR.ALLOWED
FROM PRICER.CLMREPRICINGDETAIL CR
INNER JOIN PRICER.CLMCLAIMS CLM
ON CLM.CLAIMNUMBER = CR.CLAIMNUMBER
INNER JOIN PRICER.CLMCLAIMITEMS CLMP
ON CLM.CLAIMNUMBER = CLMP.CLAIMNUMBER
AND CLM.OWNERID = CLMP.OWNERID
INNER JOIN PRICER.CLMINSURED CLMI
ON CLM.CLAIMNUMBER = CLMI.CLAIMNUMBER
AND CLM.OWNERID = CLMI.OWNERID
WHERE
TRADEPARTNERID IN ('NationalNonHouse','NationalHouse')
AND SUBSTR(CLM.SUBMITTERCLAIMNUMBER,3,11) IN ('17304CD2083','17297CA4107')
GROUP BY 1,2,3,4,5,6,7,8,9,10
HAVING CR.SEQNUMBER = MAX_SEQ
;