| Version 5 (modified by , 3 years ago) ( diff ) |
|---|
Напредни извештаи од базата (SQL и складирани процедури)
Вкупен број на резервации за храна во текот на претходните 2 месеци
select count(distinct rfpm.reservation_id) as broj_rezervacii_na_hrana from reservation_for_prepared_meal rfpm join prepared_meal pm on rfpm.prepared_meal_id = pm.prepared_meal_id join reservation r on rfpm.reservation_id = r.reservation_id and start_date between now() - interval '2 months' and now()
Вкупен број на настани во последните 6 месеци, вкупен број на гости на настаните, просечна цена на настан по гостин и вкупен промет од сите настани
select count(e.event_id) as num_events,
sum(e.number_of_interested_guests) as total_guests,
avg(e.price) as avg_price,
sum(e.price * e.number_of_interested_guests) as sales
from reservation_for_events rfe
join reservation r on
rfe.reservation_id = r.reservation_id
and
(start_date between now() - interval '6 months' and now())
join events e on
rfe.event_id = e.event_id
Вкупен број на активности во последната година, вкупен број на гости на активностите, просечна цена на активност по гостин и вкупен промет од сите активности
select count(a.activity_id) as num_activities,
sum(a.number_of_interested_guests) as total_guests,
avg(a.price) as avg_price,
sum(a.price * a.number_of_interested_guests) as sales
from reservation_for_activity rfa
join reservation r on
rfa.reservation_id = r.reservation_id
and
(start_date between now() - interval '1 year' and now())
join activities a on
rfa.activity_id = a.activity_id
Просечна плата на секој тип на вработени во Вила Дихово
select
(
select count(w.user_id)
from waiter w
)as waiters_in_villa_dihovo,
(
select avg(w.salary)
from waiter w
)as average_salary_waiter,
(
select count(r.user_id)
from receptionist r
)as receptionists_in_villa_dihovo,
(
select avg(r.salary)
from receptionist r
)as average_salary_receptionist,
(
select count(c.user_id)
from chef c
) as chefs_in_villa_dihovo,
(
select avg(c.salary)
from chef c
)as average_salary_chef
from user_table ut
group by 1,2,3;
Број на соби во секоја вила
select v.name as villa_name ,
count(r.room_id) as number_of_rooms
from villa v
join rooms r on
r.villa_id = v.villa_id
group by villa_name
order by villa_name
Нарачки за храна кој ги има направено еден корисник и вкупна сума на плаќање
select pm.user_id,
ut.full_name,
count(ut.full_name) as broj_naracki_hrana,
sum(rfpm.quantity * m.price) as total_sum
from prepared_meal pm
join user_table ut on
pm.user_id = ut.user_id
join meal m on
pm.meal_id = m.meal_id
join reservation_for_prepared_meal rfpm on
rfpm.prepared_meal_id = pm.prepared_meal_id
join reservation r on
rfpm.reservation_id = r.reservation_id
group by 1,2
Одржана активност за која што има најголема заинтересираност во последната година
select a.activity_type as aktivnost,
sum(a.number_of_interested_guests) as broj_na_zainteresirani_gosti
from activities a
join reservation_for_activity rfa
on a.activity_id = rfa.activity_id
join reservation r
on r.reservation_id = rfa.reservation_id
where r.start_date between now() - interval '1 year' and now()
group by a.activity_type
order by count(a.number_of_interested_guests) desc
limit 1;
Note:
See TracWiki
for help on using the wiki.
