Подсчитайте день, когда «CL» в отчете oracle, что я пробовал, это :

#oracle #oracle11g #oraclereports

#Oracle #oracle11g #oraclereports

Вопрос:

Привет, дорогой, я хочу посчитать CL из строк, сколько CL и умножить его на это 827 то, что я пробовал, это его ошибка генерации, что будет правильным, пожалуйста

 function CF_CLFormula return Number is
A NUMBER;
begin
  IF :DAY_COUNT = 'CL'
    THEN
    A := COUNT(:DAY_COUNT)*827;
    RETURN A; 
    END IF;
end;
 

это дает мне ошибку, функция подсчета используется только в select, да, это так, но что я могу использовать для этого и получить свой ответ

Комментарии:

1. Отдельно от раствора ; RETURN A; следует принимать после IF .. END IF блок. Так как if :DAY_COUNT не совпадает 'CL' , то возникнет ошибка.

Ответ №1:

Так это не сработает. Вероятно, вам придется фактически подсчитывать строки из таблицы в отдельном SELECT операторе. Что — то вроде этого:

 function CF_CLFormula return Number is
   A NUMBER;
begin
  IF :DAY_COUNT = 'CL'
    THEN

      select count(*) * 827             --> this
        into a
        from some_table
        where day_count = 'CL';

    RETURN A; 
    END IF;
end;