Untitled
unknown
mysql
a year ago
1.2 kB
13
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