--Zad3
Select id_gatunku, nazwa from rejestry join gatunki using(id_gatunku) where trim(to_char(czas, 'month')) = 'maj'
intersect
Select id_gatunku, nazwa from rejestry join gatunki using(id_gatunku) where trim(to_char(czas, 'day')) = 'niedziela'
minus
Select id_gatunku, nazwa from rejestry join gatunki using(id_gatunku) group by id_gatunku, nazwa having count (*) > 15;

--Zad 7
Select id_gatunku, nazwa  from gatunki 
minus
Select id_gatunku, nazwa  from rejestry join gatunki using(id_gatunku) group by id_gatunku, nazwa having count (*) > 7;

select id_gatunku, nazwa, (select count(*) from rejestry where id_gatunku = tab7.id_gatunku)liczba from
(Select id_gatunku, nazwa  from gatunki 
minus
Select id_gatunku, nazwa  from rejestry join gatunki using(id_gatunku) group by id_gatunku, nazwa having count (*) > 7)tab7;

select tab7.id_gatunku, tab7.nazwa, count(rej.id_gatunku)  from
(Select id_gatunku, nazwa  from gatunki 
minus
Select id_gatunku, nazwa  from rejestry join gatunki using(id_gatunku) group by id_gatunku, nazwa having count (*) > 7)tab7 
left join rejestry rej on(tab7.id_gatunku = rej.id_gatunku) group by tab7.id_gat

--zad 16

Select * from licencje;
Select * from oplaty;

select rok,id_okregu, sum(roczna_oplata_pod),
count(*),'oplaty roczne pod' from licencje join oplaty
using(rok,id_okregu) where rodzaj='podstawowa' and id_okregu 
like 'PZW%' group by rok,id_okregu;

select rok,id_okregu, sum((
to_date(do_dnia||'-'||rok,'dd-mm-yyyy')-
to_date(od_dnia||'-'||rok,'dd-mm-yyyy')
+1)*
dzienna_oplata),
count(*),'oplaty roczne pod' from licencje join oplaty
using(rok,id_okregu) where rodzaj='dodatkowa' 
and (od_dnia='01-01' and do_dnia='31-12')
and id_okregu like 'PZW%' group by rok,id_okregu
order by 1,2,3 desc;

select rok,id_okregu,sum(suma),sum(liczba),'razem' from

sum((
to_date(do_dnia||'-'||rok,'dd-mm-yyyy')-
to_date(od_dnia||'-'||rok,'dd-mm-yyyy')
+1)*
dzienna_oplata),
count(*),'oplaty roczne pod' from licencje join oplaty
using(rok,id_okregu) where rodzaj='dodatkowa' 
and (od_dnia='01-01' and do_dnia='31-12')
and id_okregu like 'PZW%' group by rok,id_okregu

----zad19
select id_gatunku, nazwa case
(select count(distinct id_okregu) from rejestry join lowiska using(id_lowiska)
where id_gatunku=ga.id_gatunku and id_okregu like 'PZW%')
when 0 then 'niezlowiono'
when 1 then '1 okreg'
when 2 then '2 okregi'
when 3 then '3 okregi'
else 'wiecej okregow' end info
from gatunki ga;

select count(distinct id_okregu) from rejestry join lowiska using(id_lowiska)
where id_gatunku=1 and id_okregu like 'PZW%';

