Oracle - случай использования с вложенным запросом
У меня есть синтаксис для оракула, как это:
select 'Tanggal : '||to_char(c,'DD-MON-YYYY hh:mm:ss')||',' as Tgl,
case
when (select ((a.sk/b.tot)*100)
from (select count(to_char(response))sk
from log where response like '%OK%')a,
(select count(*)tot from log)b)<100
then (select 'Error : '||to_char(response),count(to_char(response)) je
from log
group by to_char(response)
order by je desc)
else
(select 'Success Rate : '||substr((a.sukses/b.total)*100,1,5)||' %,'as Success_rate
from (select count(to_char(response)) sukses from log where response like '%OK%')a, (select count(*) total from log)b)
end as test
from log
where rownum <= 1;
Но это отправить сообщение об ошибке ORA-00907: missing right parenthesis,
это относится к "заказ по je desc".
Итак, что мне делать, чтобы не было ошибок?
1 ответ
Ваш запрос действительно ужасен, есть множество вещей, которые можно сделать, чтобы улучшить это, но просто глядя на странные вещи в вашем коде, есть 2 неправильных синтаксиса
select ((a.sk/b.tot)*100)
from (select count(to_char(response))sk
from log where response like '%OK%')a,
(select count(*)tot from log)b)<100
Часть, где у вас есть)a,
(select
.... это невозможно. Это как (а, б)<100, который не имеет смысла
Тогда order by
тоже неправильно. Просто удали это. И попробуй еще раз