wiki:AdvancedReports

Version 8 (modified by 195115, 2 years ago) ( diff )

--

Напредни извештаи од базата (SQL и складирани процедури)

Прикажување на трите најрезервирани филмски жанрови според бројот на резервации на филмските проекции кои резервации се направени во последните 2 месеци гледано од моменталниот датум

select g.genre_id ,g.genre_name, count(r) as rezervacii from genre as g
     join is_ as i on i.genre_id = g.genre_id
     join movie as m on m.movie_id  = i.movie_id
     join movieprojection as mp on mp.movie_id = m.movie_id
     join reservation as r on r.projection_id = mp.projection_id
     and r.reservation_date between now() - interval '2 month' and now()
     group by g.genre_id
     order by rezervacii desc
     limit 3;

Го селектираме и genre_id за да може Query-то да го употребиме во нашата Spring Boot Application

Клиентот кој има направено најголема потрошувачка во последната година според дадена проекција

  select c.user_id,sum(mp.projection_price) as vkupna_potroshuvacka,u.user_name,u.user_surname from users as u
     join client as c on c.user_id = u.user_id
     join reservation as r on r.user_id = c.user_id
     and r.reservation_date between now() - interval '1 year' and now()
     join movieprojection as mp on mp.projection_id = r.projection_id
     where mp.projection_id = 12732  --?--
     group by c.user_id,u.user_name,u.user_surname
     order by vkupna_potroshuvacka desc
     limit 1;

Коментарот --?-- значи дека во Spring Boot ќе се замени вредноста со projection_id кој се задава како параметар по кликање на копчето View Projections кој се наоѓа до секој од филмовите

Note: See TracWiki for help on using the wiki.