Untitled
Anonymous
mysql
09/25/2024 12:44 AM
1.5 KB
19
Indexable
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;
Editor is loading...
Leave a Comment