Я пытаюсь создать функцию, которая служит заменой функции postgresql sum в моем запросе.вычисление в функции postgresql
запрос сам он LOOONG и что-то вроде этого
SELECT .... sum(tax) as tax ... from (SUBQUERY) as bar group by id;
Я хочу, чтобы заменить эту функцию суммы с моей, которая изменяет конечное значение путем расчета налога.
Так что я создал функцию PGSQL так:
DECLARE
v double precision;
BEGIN
IF val > 256 THEN
v := 256;
ELSE
v := val;
END IF;
RETURN (v*0.21)/0.79;
END;
Эта функция использует двойной точности в качестве входных данных. С помощью этой функции дает мне ошибку, хотя:
column "bar.tax" must appear in the GROUP BY clause or be used in an aggregate function
Так что я пытался использовать двойную точность [] в качестве входного типа для функции - в этом случае ошибка рассказывала мне, что не было никакой функции PostgreSQL соответствия имени и заданной входного тип.
Итак, есть способ заменить функцию sum в моем запросе с помощью функций pgsql или нет - я не хочу изменять какие-либо другие части моего запроса, если я действительно, действительно, ДЕЙСТВИТЕЛЬНО должен.
все в порядке. Благодарю. Вы даже ответили на мой вопрос, предлагая альтернативу. Awesome :) –
Добро пожаловать;) –