Выражение с несколькими истинными условиями - PullRequest
0 голосов
/ 08 ноября 2018

Почему мое выражение case возвращает несколько строк? Я думал, что выражение case фиксирует первое истинное условие, а затем останавливается.

У меня есть ниже, и он возвращает две строки. Почему это и что я могу добавить в мое выражение case, чтобы остановить, когда выполняется первое истинное условие?

 with
sample_data1(ID, START_DATE,ASSIGNMENT_DATE ) as (
select 1, to_date('11/07/2018', 'mm/dd/yyyy'),to_date('10/01/2018', 'mm/dd/yyyy') from dual UNION ALL
select 1, to_date('11/07/2018', 'mm/dd/yyyy'),to_date('11/08/2018', 'mm/dd/yyyy') from dual

)


SELECT 
ID,
START_dATE,
CASE
WHEN ASSIGNMENT_DATE < START_DATE THEN START_DATE
WHEN ASSIGNMENT_DATE > START_DATE  THEN ASSIGNMENT_DATE
END FIRST_DATE
FROM sample_data1

Я бы ожидал вывод таблицы ниже:

ID  START_DATE  FIRST_DATE   ASSIGNMENT_DATE
1    11/7/18      11/7/18        10/1/18
1    11/7/18      11/7/18        11/8/18
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...