= Напредни извештаи од базата (SQL и складирани процедури) == За секоја година, установа со најголем број одржани настани {{{#!div style="font-size: 90%" {{{#!sql }}} }}} == Настан со најмногу заинтересирани купувачи во последните 100 дена {{{#!div style="font-size: 90%" {{{#!sql select p.ime as predmet, count(zz.id_ucenik) as broj_na_zainteresirani_ucenici from predmeti p join zainteresiran_za zz on zz.id_predmet = p.id_predmet join ucenici u on u.id_ucenik = zz.id_ucenik where zz.datum between current_date - interval '100 days' and current_date group by p.ime order by count(zz.id_ucenik) desc limit 1; }}} }}} == Листа на артисти со број на одржани настани {{{#!div style="font-size: 90%" {{{#!sql }}} }}} == Предложување на 10те најдобро рангирани настани на даден корисник, врз база на корисниците со кои стапил во интеракција во последните 2 месеци и корисници кои имаат оставено број на реплики поголем или еднаков од вкупниот просечен на број на реплики по сите корисници {{{#!div style="font-size: 90%" {{{#!sql }}} }}} == Извештај за купувач според тромесечие, купени карти и придонес {{{#!div style="font-size: 90%" {{{#!sql select distinct u.user_name,u.user_surname, case when tabela.quarter=1 then tabela.broj_kupeni else 0 end as prv_kvartal_kupeni, case when tabela.quarter=2 then tabela.broj_kupeni else 0 end as vtor_kvartal_kupeni, case when tabela.quarter=3 then tabela.broj_kupeni else 0 end as tret_kvartal_kupeni, case when tabela.quarter=4 then tabela.broj_kupeni else 0 end as cetvrt_kvartal_kupeni, ------------------------------------------------------------------------------- case when tabela.quarter=1 then tabela.suma else 0 end as prv_kvartal_suma, case when tabela.quarter=2 then tabela.suma else 0 end as vtor_kvartal_suma, case when tabela.quarter=3 then tabela.suma else 0 end as tret_kvartal_suma, case when tabela.quarter=4 then tabela.suma else 0 end as cetvrt_kvartal_suma from reservation as r join client as c on c.user_id = r.user_id join movieprojection as mp on mp.projection_id = r.projection_id join users as u on u.user_id = c.user_id join( select distinct c2.user_id,extract(quarter from r2.reservation_date) as quarter,sum(mp.projection_price) as suma, count(r2.reservation_id) as broj_kupeni from reservation as r2 join movieprojection as mp on mp.projection_id = r2.projection_id join client as c2 on c2.user_id = r2.user_id group by 1,2 ) as tabela on c.user_id = tabela.user_id }}} }}} == Број на трансакции реализирани од страна на купувачи кои оставиле позитивни рецензии (оценка над 3) кон артисти {{{#!div style="font-size: 90%" {{{#!sql select count (*) from ( with tempTable as (select o.* from organizers o join reviews as r on r.organizer_id = o.user_id and r.rating > 3 group by o.user_id) select t.* from events as e join tempTable as tt on tt.user_id = e.organizer_id join offers as o2 on o2.event_id = e.id join transactions as t on t.offer_id = o2.id ) as temp }}} }}}