Changes between Initial Version and Version 1 of Напредни извештаи од базата


Ignore:
Timestamp:
02/09/25 09:04:39 (13 days ago)
Author:
201028
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Напредни извештаи од базата

    v1 v1  
     1= Напредни извештаи од базата
     2
     3=== Извештај за секој фитнес центар со бројот на фитнес инструктори, термини,резервации
     4
     5{{{
     6SELECT DISTINCT
     7    fc.id AS fitnes_centar_id,
     8    br_instruktori.broj_instruktori,
     9    br_termini.broj_termini,
     10    br_rezervacii.broj_rezervacii
     11FROM Fitnes_Centar AS fc
     12
     13LEFT JOIN (
     14    SELECT id_gym, COUNT(user_id_instruktor) AS broj_instruktori
     15    FROM Fitnes_Instruktor
     16    GROUP BY id_gym
     17) AS br_instruktori ON fc.id = br_instruktori.id_gym
     18
     19LEFT JOIN (
     20    SELECT fi.id_gym, COUNT(t.termin_id) AS broj_termini
     21    FROM Fitnes_Instruktor AS fi
     22    JOIN Termin AS t ON fi.user_id_instruktor = t.instruktor_id
     23    GROUP BY fi.id_gym
     24) AS br_termini ON fc.id = br_termini.id_gym
     25
     26LEFT JOIN (
     27    SELECT fi.id_gym, COUNT(r.rez_id) AS broj_rezervacii
     28    FROM Fitnes_Instruktor AS fi
     29    JOIN Termin AS t ON fi.user_id_instruktor = t.instruktor_id
     30    JOIN Rezervacija AS r ON t.termin_id = r.termin_id
     31    GROUP BY fi.id_gym
     32) AS br_rezervacii ON fc.id = br_rezervacii.id_gym;
     33
     34}}}
     35
     36=== Просечна оценка за секој фитнес центар врз основа за оценките дадени за тренинзите, (во 2025 година)
     37
     38{{{
     39SELECT fc.ime AS fitnes_centar,
     40       AVG(o.vrednost) AS prosecna_ocenka
     41FROM Ocenka o
     42JOIN Rezervacija r ON o.rez_id = r.rez_id
     43JOIN Termin t ON r.termin_id = t.termin_id
     44JOIN Fitnes_Instruktor fi ON t.instruktor_id = fi.user_id_instruktor
     45JOIN Fitnes_Centar fc ON fi.id_gym = fc.id
     46WHERE EXTRACT(YEAR FROM t.datum) = 2025
     47GROUP BY fc.ime;
     48
     49
     50}}}
     51
     52
     53
     54=== За 2025 за секоја теретана за секој инструктор колку клиенти има
     55
     56{{{
     57SELECT fc.ime AS fitnes_centar,
     58       fi.ime AS instruktor_ime,
     59       fi.prezime AS instruktor_prezime,
     60       COUNT(DISTINCT r.user_id_klient_rez) AS broj_klienti
     61FROM Rezervacija r
     62JOIN Termin t ON r.termin_id = t.termin_id
     63JOIN Fitnes_Instruktor fi ON t.instruktor_id = fi.user_id_instruktor
     64JOIN Fitnes_Centar fc ON fi.id_gym = fc.id
     65WHERE EXTRACT(YEAR FROM t.datum) = 2025
     66GROUP BY fc.ime, fi.ime, fi.prezime;
     67}}}