Changes between Initial Version and Version 1 of Advancedreports


Ignore:
Timestamp:
01/27/23 15:51:51 (17 months ago)
Author:
201134
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Advancedreports

    v1 v1  
     1= Напредни извештаи од базата (SQL и складирани процедури) =
     2
     3=== Извештај за број на закажани настани во секој од последните 3 месеци поединечно ===
     4
     5{{{#!sql
     6select sum(ovoj_mesec.broj_nastani) as zakazani_nastani_ovoj_mesec, sum(prethoden_mesec.broj_nastani) as zakazani_nastani_prethoden_mesec, sum(predprethoden_mesec.broj_nastani) as zakazani_nastani_predprethoden_mesec
     7from nastani as n
     8left join(
     9        select n.nastan_id as nastan_id, n.datum as nastan_datum, n.tip as tip_nastan, kb.ime as ime_bend, kk.ime as ime_ketering, kf.ime as ime_fotograf , count (*) as broj_nastani
     10        from nastani as n
     11        left join bend_sviri_nastan bsn on bsn.nastan_id = n.nastan_id
     12        left join bendovi as b on b.korisnik_id = bsn.korisnik_id
     13        left join korisnici kb on kb.korisnik_id = b.korisnik_id
     14       
     15        left join ketering_rezervira_nastan krn on krn.nastan_id = n.nastan_id
     16        left join keterinzi as k on k.korisnik_id = krn.korisnik_id
     17        left join korisnici kk on kk.korisnik_id = k.korisnik_id
     18       
     19        left join fotograf_slika_nastan fsn on fsn.nastan_id = n.nastan_id
     20        left join fotografi as f on f.korisnik_id = fsn.korisnik_id
     21        left join korisnici kf on kf.korisnik_id = f.korisnik_id
     22       
     23        where extract(month from n.datum) = extract(month from now()) and extract(year from n.datum) = extract(year from now())
     24       
     25        group by 1,2,3,4,5,6
     26
     27) as ovoj_mesec on n.nastan_id = ovoj_mesec.nastan_id and n.tip = ovoj_mesec.tip_nastan
     28
     29left join(
     30        select n.nastan_id as nastan_id, n.datum as nastan_datum, n.tip as tip_nastan, kb.ime as ime_bend, kk.ime as ime_ketering, kf.ime as ime_fotograf, count (*)  as broj_nastani
     31        from nastani as n
     32        left join bend_sviri_nastan bsn on bsn.nastan_id = n.nastan_id
     33        left join bendovi as b on b.korisnik_id = bsn.korisnik_id
     34        left join korisnici kb on kb.korisnik_id = b.korisnik_id
     35       
     36        left join ketering_rezervira_nastan krn on krn.nastan_id = n.nastan_id
     37        left join keterinzi as k on k.korisnik_id = krn.korisnik_id
     38        left join korisnici kk on kk.korisnik_id = k.korisnik_id
     39       
     40        left join fotograf_slika_nastan fsn on fsn.nastan_id = n.nastan_id
     41        left join fotografi as f on f.korisnik_id = fsn.korisnik_id
     42        left join korisnici kf on kf.korisnik_id = f.korisnik_id
     43       
     44        where extract(month from n.datum) = extract(month from now() - interval '1 month') and extract(year from n.datum) = extract(year from now()- interval '1 month')
     45        group by 1,2,3,4,5,6
     46
     47) as prethoden_mesec on n.nastan_id = prethoden_mesec.nastan_id and n.tip = prethoden_mesec.tip_nastan
     48
     49left join(
     50        select n.nastan_id as nastan_id, n.datum as nastan_datum, n.tip as tip_nastan, kb.ime as ime_bend, kk.ime as ime_ketering, kf.ime as ime_fotograf, count (*)  as broj_nastani
     51        from nastani as n
     52        left join bend_sviri_nastan bsn on bsn.nastan_id = n.nastan_id
     53        left join bendovi as b on b.korisnik_id = bsn.korisnik_id
     54        left join korisnici kb on kb.korisnik_id = b.korisnik_id
     55       
     56        left join ketering_rezervira_nastan krn on krn.nastan_id = n.nastan_id
     57        left join keterinzi as k on k.korisnik_id = krn.korisnik_id
     58        left join korisnici kk on kk.korisnik_id = k.korisnik_id
     59       
     60        left join fotograf_slika_nastan fsn on fsn.nastan_id = n.nastan_id
     61        left join fotografi as f on f.korisnik_id = fsn.korisnik_id
     62        left join korisnici kf on kf.korisnik_id = f.korisnik_id
     63       
     64        where extract(month from n.datum) = extract(month from now() - interval '2 month') and extract(year from n.datum) = extract(year from now()- interval '2 month')
     65        group by 1,2,3,4,5,6
     66) as predprethoden_mesec on n.nastan_id = predprethoden_mesec.nastan_id and n.tip = predprethoden_mesec.tip_nastan
     67 }}}
     68
     69
     70=== Извештај за број на типови на алкохолни пијалоци конзумирани за секој настан заедно со името на клиентот кој го закажал,кетеринг групата која служела и бројот на келнери сортирани според датумот во растечки редослед ===
     71
     72{{{#!sql
     73select n.nastan_id, n.datum, lista_klienti.ime as ime_klient, lista_keterinzi.ime as ime_ketering, count(lista_pijaloci) as broj_alkoholni_pijaloci, lista_keterinzi.kolicina as broj_kelneri
     74from nastani as n
     75
     76join (
     77        select * from korisnici as k
     78        join klienti as kl on k.korisnik_id = kl.korisnik_id_korisnici
     79) as lista_klienti on n.korisnik_id_klienti = lista_klienti.korisnik_id
     80
     81join(
     82        select * from korisnici as k
     83        join keterinzi as ke on k.korisnik_id = ke.korisnik_id
     84        join ketering_rezervira_nastan as krn on ke.korisnik_id = krn.korisnik_id 
     85) as lista_keterinzi on n.nastan_id = lista_keterinzi.nastan_id
     86
     87join (
     88        select * from korisnici as k
     89        join keterinzi as ke on k.korisnik_id = ke.korisnik_id
     90        join ketering_nudi_produkt as knp on ke.korisnik_id = knp.korisnik_id
     91        join produkti as p on knp.produkt_id = p.produkt_id
     92        join pijaloci as pij on p.produkt_id = pij.produkt_id
     93        join ketering_rezervira_nastan as krn on ke.korisnik_id = krn.korisnik_id 
     94) as lista_pijaloci on n.nastan_id = lista_pijaloci.nastan_id
     95
     96where lista_pijaloci.dali_alkoholen = true and n.datum between now()- interval '12 months' and now ()
     97group by 1,2,3,4,6
     98order by 2 asc
     99}}}