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

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

1. Извештај: Листа на сите активни членови со детални информации

SELECT 
    c.ClenId, 
    c.Ime, 
    c.Prezime, 
    c.Telefon, 
    c.Email, 
    cl.ClenstvoId, 
    cl.Od AS Pochatok, 
    cl.Do AS Kraj, 
    p.Naziv AS Paket, 
    p.Cena, 
    cl.PaymentId, 
    CASE 
        WHEN cl.online = 1 THEN 'Online' 
        ELSE 'Cash' 
    END AS Nacin_na_Plakjanje
FROM Clenovi c
JOIN Clenstvo cl ON c.ClenId = cl.ClenIdFK
JOIN Paketi p ON cl.PaketId = p.PaketId
WHERE cl.Do >= GETDATE(); -- Само активни членства

WHERE cl.Do >= GETDATE();

2. Извештај: Вкупни приходи по месец

SELECT 
    YEAR(cl.Od) AS Godina,
    MONTH(cl.Od) AS Mesec, 
    SUM(p.Cena) AS VkupenPrihod
FROM Clenstvo cl
JOIN Paketi p ON cl.PaketId = p.PaketId
GROUP BY YEAR(cl.Od), MONTH(cl.Od)
ORDER BY Godina DESC, Mesec DESC;

3. Извештај: Број на посети по член во последните 30 дена

SELECT 
    c.ClenId, 
    c.Ime, 
    c.Prezime, 
    COUNT(po.PosetaId) AS VkupnoPoseti
FROM Clenovi c
JOIN Poseti po ON c.ClenId = po.ClenIdFK
WHERE po.CheckInTime >= DATEADD(DAY, -30, GETDATE())
GROUP BY c.ClenId, c.Ime, c.Prezime
ORDER BY VkupnoPoseti DESC;

4. Извештај: Вработени и нивните плати

SELECT 
    v.VrabotenId, 
    v.Ime, 
    v.Prezime, 
    v.Uloga, 
    v.Plata, 
    l.Adresa AS Lokacija
FROM Vraboteni v
JOIN Lokacii l ON v.LokacijaId = l.LokacijaId
ORDER BY v.Plata DESC;
Last modified 4 days ago Last modified on 05/11/25 23:14:48
Note: See TracWiki for help on using the wiki.