| 2 | |
| 3 | === Извештај за секој салон со бројот на вработени, термини,резервации и вкупната заработувачка |
| 4 | |
| 5 | |
| 6 | {{{ |
| 7 | select distinct bc.salon_id , br_vraboteni.broj_vraboteni, br_termini.broj_termini, br_rezervacii.broj_rez, zarabotuvacka.vkupno |
| 8 | |
| 9 | from beautycenter as bc |
| 10 | |
| 11 | left join |
| 12 | ( select bc.salon_id, count(v_bc.user_id_vraboten) as broj_vraboteni |
| 13 | from beautycenter as bc |
| 14 | left join vraboteni_beautycenter as v_bc on bc.salon_id = v_bc.salon_id |
| 15 | group by bc.salon_id |
| 16 | ) as br_vraboteni on bc.salon_id = br_vraboteni.salon_id |
| 17 | |
| 18 | left join |
| 19 | ( select bc.salon_id, count(t.termin_id) as broj_termini |
| 20 | from beautycenter as bc |
| 21 | left join vraboteni_beautycenter as v_bc on bc.salon_id = v_bc.salon_id |
| 22 | left join vraboteni as v on v_bc.user_id_vraboten = v.user_id |
| 23 | left join termini as t on v.user_id = t.user_id_vraboten |
| 24 | group by bc.salon_id |
| 25 | ) as br_termini on bc.salon_id = br_termini.salon_id |
| 26 | |
| 27 | left join |
| 28 | ( select bc.salon_id, count(r.br_rez) as broj_rez |
| 29 | from beautycenter as bc |
| 30 | left join vraboteni_beautycenter as v_bc on bc.salon_id = v_bc.salon_id |
| 31 | left join vraboteni as v on v_bc.user_id_vraboten = v.user_id |
| 32 | left join termini as t on v.user_id = t.user_id_vraboten |
| 33 | left join rezervacija as r on t.termin_id = r.termin_id |
| 34 | group by bc.salon_id |
| 35 | ) as br_rezervacii on bc.salon_id = br_rezervacii.salon_id |
| 36 | |
| 37 | left join |
| 38 | ( select bc.salon_id,u.usluga_id, count(ru.usluga_id)*cast(u.cena as numeric) suma_ceni |
| 39 | from beautycenter as bc |
| 40 | left join vraboteni_beautycenter as v_bc on bc.salon_id = v_bc.salon_id |
| 41 | left join vraboteni as v on v_bc.user_id_vraboten = v.user_id |
| 42 | left join termini as t on v.user_id = t.user_id_vraboten |
| 43 | left join rezervacija as r on t.termin_id = r.termin_id |
| 44 | left join rezervacija_uslugi as ru on r.br_rez = ru.br_rez |
| 45 | left join uslugi as u on ru.usluga_id = u.usluga_id |
| 46 | group by bc.salon_id,u.usluga_id,u.cena |
| 47 | ) as suma_uslugi on bc.salon_id = suma_uslugi.salon_id |
| 48 | |
| 49 | left join |
| 50 | ( select bc.salon_id, sum(suma_uslugi.suma_ceni) vkupno |
| 51 | from beautycenter as bc |
| 52 | left join ( |
| 53 | select bc.salon_id,u.usluga_id, count(ru.usluga_id)*cast(u.cena as numeric) suma_ceni |
| 54 | from beautycenter as bc |
| 55 | left join vraboteni_beautycenter as v_bc on bc.salon_id = v_bc.salon_id |
| 56 | left join vraboteni as v on v_bc.user_id_vraboten = v.user_id |
| 57 | left join termini as t on v.user_id = t.user_id_vraboten |
| 58 | left join rezervacija as r on t.termin_id = r.termin_id |
| 59 | left join rezervacija_uslugi as ru on r.br_rez = ru.br_rez |
| 60 | left join uslugi as u on ru.usluga_id = u.usluga_id |
| 61 | group by bc.salon_id,u.usluga_id,u.cena |
| 62 | ) as suma_uslugi on bc.salon_id = suma_uslugi.salon_id |
| 63 | group by bc.salon_id |
| 64 | ) as zarabotuvacka on bc.salon_id = zarabotuvacka.salon_id |
| 65 | |
| 66 | }}} |
| 67 | |