【发布时间】:2016-02-22 05:12:45
【问题描述】:
在 Oracle SQLDeveloper 中,我正在尝试运行一个查询,在该查询中我发现返回特定日期作为 StartDate,但如果最早的现有日期大于指定的开始日期,则返回最小日期。我尝试使用 CASE 语句执行此操作,但我不断收到“缺少右括号”错误。到目前为止,这是我的代码:
select
a.program
, a.match_file
, (case when b.date = '27-JAN-13' then b.date else min(b.date end)) as Startdate
from Schema1.program a, Schema1.detail b
where a.match_file = b.matchfile
and (case when b.date=' ' then min(b.date) else b.date end) = '27-JAN-13'
group by a.program, a.match_file
;
如果我做错了,有人可以告诉我吗?我也尝试过使用 IF 语句和几个不同的 UNION 语句,但我无法让它返回我想要的。
【问题讨论】: