Untitled

mail@pastecode.io avatar
unknown
mysql
19 days ago
1.2 kB
2
Indexable
Never
SELECT 
    p.PRIJATELJ, 
    m.MEDIJ, 
    ps.DATUM_POSUDBE,
    DATEDIFF(DAY, ps.DATUM_POSUDBE, GETDATE()) AS BrojDanaKodPrijatelja
FROM 
    Prijatelji p
JOIN 
    Posudba ps ON p.PrijateljID = ps.PrijateljID
JOIN 
    Medij m ON ps.PrijateljID = p.PrijateljID
LEFT JOIN 
    StatusPosudbe sp ON sp.PrijateljID = p.PrijateljID AND sp.PosudbaID = ps.PosudbaID
LEFT JOIN 
    Vracanje v ON sp.VracanjeID = v.VracanjeID
WHERE 
    v.VracanjeID IS NULL;  -- Ovo filtrira samo one zapise gdje nema vraćanja
    
    
    
    -- Druga naredba
    
    -- Unesi današnji datum vraćanja za prijatelje koji nisu vratili CD/DVD
INSERT INTO Vracanje (DATUM_VRACA, PrijateljID)
SELECT GETDATE(), PrijateljID
FROM Posudba ps
LEFT JOIN StatusPosudbe sp ON ps.PosudbaID = sp.PosudbaID
LEFT JOIN Vracanje v ON sp.VracanjeID = v.VracanjeID
WHERE v.VracanjeID IS NULL;

-- Ažuriraj StatusPosudbe s novim ID-jem vraćanja
UPDATE StatusPosudbe
SET VracanjeID = (SELECT MAX(VracanjeID) FROM Vracanje v WHERE sp.PrijateljID = v.PrijateljID)
FROM StatusPosudbe sp
LEFT JOIN Vracanje v ON sp.VracanjeID = v.VracanjeID
WHERE v.VracanjeID IS NULL;

Leave a Comment