В 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, но я не могу заставить его вернуть то, что я хочу.