具有多个真实条件的案例表达

时间:2018-11-08 17:09:07

标签: sql oracle 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

0 个答案:

没有答案