Cześć mam taki problem
mam zapytanie które jest gigantyczne ze względu na to że treść skryptu powtarza się kilkanaście razy i każde powtórzenie jest przesunięte interwałem o 3 miesiące. Chciałabym zrobić z tego np. pętle aby każde przesunięcie odkładało się w nowej kolumnie. Skrypt zmienia się dość cyklicznie i kilkunastokrotne wklejanie go od nowa jest czasochłonne
Czy ktoś poratuję pomysłem jak to zrobić?
select distinct grupa::numeric,
sum(round(greatest(least(
(case when poli_data_od::date>poli_data_do::date then 0
else
(poli_data_do::date - (to_date(numer_okresu||'01','yyyymmdd') + interval '1 months'- interval '1 day')::date)::numeric
/greatest(poli_data_do::date-poli_data_od::date+1,1)::numeric
end)
,1),0)
* przypisanie,2)) as now,
sum(round(greatest(least(
(case when poli_data_od::date>poli_data_do::date then 0
else
(poli_data_do::date - (to_date(numer_okresu||'01','yyyymmdd') + interval '4 months'- interval '1 day')::date)::numeric
/greatest(poli_data_do::date-poli_data_od::date+1,1)::numeric
end)
,1),0)
* przypisanie,2)) as now_and_1q
from tabelka
where numer_okresu='202409'
group by grupa;