wiki:Напредни извештаи од базата (SQL и складирани процедури)

Напредни извештаи од базата

Извештај за секој фитнес центар со бројот на фитнес инструктори, термини,резервации

SELECT DISTINCT 
    fc.id AS fitnes_centar_id, 
    br_instruktori.broj_instruktori,
    br_termini.broj_termini,
    br_rezervacii.broj_rezervacii
FROM Fitnes_Centar AS fc 

LEFT JOIN (
    SELECT id_gym, COUNT(user_id_instruktor) AS broj_instruktori
    FROM Fitnes_Instruktor
    GROUP BY id_gym
) AS br_instruktori ON fc.id = br_instruktori.id_gym

LEFT JOIN (
    SELECT fi.id_gym, COUNT(t.termin_id) AS broj_termini
    FROM Fitnes_Instruktor AS fi
    JOIN Termin AS t ON fi.user_id_instruktor = t.instruktor_id
    GROUP BY fi.id_gym
) AS br_termini ON fc.id = br_termini.id_gym

LEFT JOIN (
    SELECT fi.id_gym, COUNT(r.rez_id) AS broj_rezervacii
    FROM Fitnes_Instruktor AS fi
    JOIN Termin AS t ON fi.user_id_instruktor = t.instruktor_id
    JOIN Rezervacija AS r ON t.termin_id = r.termin_id
    GROUP BY fi.id_gym
) AS br_rezervacii ON fc.id = br_rezervacii.id_gym;

Просечна оценка за секој фитнес центар врз основа за оценките дадени за тренинзите, (во 2025 година)

SELECT fc.ime AS fitnes_centar,
       AVG(o.vrednost) AS prosecna_ocenka
FROM Ocenka o
JOIN Rezervacija r ON o.rez_id = r.rez_id
JOIN Termin t ON r.termin_id = t.termin_id
JOIN Fitnes_Instruktor fi ON t.instruktor_id = fi.user_id_instruktor
JOIN Fitnes_Centar fc ON fi.id_gym = fc.id
WHERE EXTRACT(YEAR FROM t.datum) = 2025
GROUP BY fc.ime;


За 2025 за секоја теретана за секој инструктор колку клиенти има

SELECT fc.ime AS fitnes_centar,
       fi.ime AS instruktor_ime,
       fi.prezime AS instruktor_prezime,
       COUNT(DISTINCT r.user_id_klient_rez) AS broj_klienti
FROM Rezervacija r
JOIN Termin t ON r.termin_id = t.termin_id
JOIN Fitnes_Instruktor fi ON t.instruktor_id = fi.user_id_instruktor
JOIN Fitnes_Centar fc ON fi.id_gym = fc.id
WHERE EXTRACT(YEAR FROM t.datum) = 2025
GROUP BY fc.ime, fi.ime, fi.prezime;
Last modified 13 days ago Last modified on 02/09/25 09:02:44
Note: See TracWiki for help on using the wiki.