| Version 9 (modified by , 3 years ago) ( diff ) |
|---|
Напредни извештаи од базата (SQL и складирани процедури)
Прашалник 1
За секој посвојувач, број на посвоени миленичиња од секој вид (мачки, кучиња, птици) и вкупен број посвоени миленици. Табелата е подредена во опаѓачки редослед според бројот на посвојувања т.ш. посвојувачот со највеќе посвојувања е во првиот ред.
select
ut.name_user as posvojuvac,
count(distinct pm.id_pet) as broj_posvoeni_macki,
count(distinct pd.id_pet) as broj_posvoeni_kucinja,
count(distinct pp.id_pet) as broj_posvoeni_ptici,
count(distinct p.id_pet) as vkupno_posvoeni_milenici
from
adopter a
join
user_table ut on a.id_user = ut.id_user
left join
adoption ad on ad.id_adopter = a.id_user
left join
pet pm on pm.id_adoption = ad.id_adoption
and
pm.species = 0
left join
pet pd on pd.id_adoption = ad.id_adoption
and
pd.species = 1
left join
pet pp on pp.id_adoption = ad.id_adoption
and
pp.species = 2
left join
pet p on p.id_adoption = ad.id_adoption
group by
a.id_user, ut.name_user
order by
vkupno_posvoeni_milenici desc
Прашалник 2
(text here)
--sql here
Прашалник 3
(text here)
--sql here
Прашалник 4
(text here)
--sql here
Прашалник 5
Приказ за секоја година, тип на милениче со најголем број на посвојувања
select q2.god as godina, q2.maximum as max,
case
when q3.species = 0 then 'cat'
when q3.species = 1 then 'dog'
when q3.species = 2 then 'bird'
end as species
from
( select q1.godina as god, max(broj_posvojuvanja) as maximum from
(
--posvojuvanja po godini i tipovi na milenichinja
select extract(year from a.start_date) as godina, p2.species, count(p2.id_pet) as broj_posvojuvanja
from adoption a
join pet p2 on a.id_adoption = p2.id_adoption
where (end_date_foster is null) and (a.approved is true)
group by godina, p2.species
--order by godina
) q1
group by godina
)q2
join
(
select extract(year from a.start_date) as godina, p2.species, count(p2.id_pet) as broj_posvojuvanja
from adoption a
join pet p2 on a.id_adoption = p2.id_adoption
where (end_date_foster is null) and (a.approved is true)
group by godina, p2.species
--order by godina
) q3
on q2.god = q3.godina and q2.maximum = q3.broj_posvojuvanja
Прашалник 6
(text here)
--sql here
Note:
See TracWiki
for help on using the wiki.
