为什么我的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