2 максимальных оператора в одном запросе Oracle SQL - PullRequest
1 голос
/ 05 февраля 2020

Есть ли способ заставить Oracle вернуть максимальное значение для 2+ полей в одном SQL запросе?

У меня есть код для поиска всех экземпляров "ID38" в поле заметок , а затем верните наибольший номер job_log_number с "ID38" в нем.

Это, однако, может не быть окончательным статусом задания. Поэтому я хотел бы создать еще один столбец, чтобы вернуть самое высокое значение job_log_number в задании, независимо от того, содержит ли оно «ID38» или нет.

Существующий код:

select
j1.job_number,
job_status_log.log_text,
job_status_log.job_log_number


from
job j1
inner join job_status_log on j1.job_number = job_status_log.job_number

where

job_status_log.job_log_number =
(select max (job_status_log.job_log_number)
from
job j2
inner join job_status_log on j2.job_number = job_status_log.job_number
where j1.job_number = j2.job_number and
job_status_log.log_text LIKE '%to Tree Team 1 (ID38)%')

order by 
j1.job_number, job_status_log.job_log_number

Текущие результаты

Job Number         Log Text         Log Number
123                 ID38                 3
193                 ID38                 4
392                 ID38                 1

Я хотел бы закончить тем, что

Job Number         Log Text         Log Number         Highest Log Number On Job
123                 ID38                 3                        3
193                 ID38                 4                        5
392                 ID38                 1                        4
...