И
LINE 6: when types.id=1 then 'квартира'
Size: a a a
И
YS
И
И
И
И
YS
CREATE OR REPLACE FUNCTION ten(integer) RETURNS table(f1 text, f2 integer, f3 integer, f4 integer)
AS
$function$
SELECT CASE WHEN types.id=1 THEN 'квартира'
WHEN types.id=2 THEN 'дом'
WHEN types.id=3 THEN 'ап-ты'
END,
COUNT(*), COUNT(*)*100/newcolumn, SUM(sale.cost_sale)
FROM types, objects, sale, ( -- <- Вот это --- отвратительный стиль SQL, кстати
SELECT COUNT(*) AS newcolumn
FROM sale
WHERE extract(year FROM date_sale) = $1 -- А это --- неиндексируемое условие
) newtable
WHERE sale.id_object=objects.id
AND objects.type=types.id
AND extract(year FROM sale.date_sale) = $1
GROUP BY types.id, newcolumn; -- Лучше всегда указывать названия полностью, newtable.newcolumn
$function$
LANGUAGE SQL STABLE; -- Правильно указывайте volatility функции
SC
И
ЮИ
AA
ЮИ
N
O
N
O
N
O
N
O