в моем запросе, когда RowNum = 1 не получает нулевое значение - PullRequest
2 голосов
/ 19 мая 2019

В моем запросе

Select AT.PRE_LAST_DATE 
From AUTHORIZATION AT 
Where AT.PROJECT_ID = 5 and AT.PRE_DESIG_ID = 48   
Order By AT.ID Desc;

Я получаю две даты

  1. NULL
  2. 17-мая-19 00.00.00

Но когда я использую Rownum = 1, он не возвращает нулевое значение

Select AT.PRE_LAST_DATE 
From AUTHORIZATION AT 
Where AT.PROJECT_ID = 5 and AT.PRE_DESIG_ID = 48 and ROWNUM = 1  
Order By AT.ID Desc;

Возвращает:

  1. 17-мая-19 00.00.00

Теперь, как мне получить первое нулевое значение?

1 Ответ

2 голосов
/ 19 мая 2019

ORDER BY применяется после предложения WHERE, которое возвращает только одну из строк в неопределенном порядке.Чтобы заказать сначала, затем выберите верхнюю строку, используйте подзапрос:

Select PRE_LAST_DATE 
From 
    (Select AT.PRE_LAST_DATE From 
        AUTHORIZATION AT 
        Where AT.PROJECT_ID = 5 and AT.PRE_DESIG_ID = 48
        Order By AT.ID Desc)
Where ROWNUM = 1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...