Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OSOBA (osoba INT, naziv CHAR, adresa CHAR, mjesto CHAR, datumZaposlenja DATE,
- STATUS CHAR{Zaposlen, Nezaposlen})
- SLADISTE (skladiste INT, naziv CHAR, adresa CHAR, mjesto CHAR,
- skladistar INT(fk.osoba), datumFormiranja DATE, STATUS CHAR{Otvoren, Zatvoren})
- ARTIKAL (artikal INT, naziv CHAR, datumPocetkaProizvodnje DATE,
- datumPrestankaProizvodnje DATE, proizvodnaCijena FLOAT, veleprodajnaCijena FLOAT,
- maloprodajnaCijena FLOAT, artikalUnio INT (fk.osoba))
- ARTIKAL_ARHIVA (artikal INT(fk.artikal), datumPromjene DATE, kolicina INT,
- osobaPromjenila(fk.osoba), osobaOdobrila(fk.osoba), veleprodajnaCijena FLOAT,
- maloprodajnaCijena FLOAT)
- FAKTURA (faktura INT, datumUnosa DATE, datumOd DATE, datumDo DATE, ukupno REAL,
- odobrio INT(fk.osoba), zaprimio INT(fk.osoba), fakturisao INT(fk.osoba),
- skladiste INT(fk.skladistar))
- STAVKE_FAKTURE (faktura(fk.faktura) INT, stavka INT, artikal INT(fk.artikal),
- kolicina REAL, cijena FLOAT, popust FLOAT)
- 7. Prikazati osobe koje su zaprimile fakture (naziv, mjesto i adresa) sa
- brojem faktura, kao i sve-ukupnim iznosima faktura
- (iznos = kolicina * cijena - iz stavki)
- od strane onih skladistara koji su zaposleni od datuma formiranja skladista
- ili od datumaPocetkaProizvodnje posljednje promijenjenog i prodatog artikla.
- Prosjecna cijena artikla u stavkama svih faktura mora biti izmedju cijene
- proizvodnje i cijene maloprodaje navedenog artikla.
- Uzeti u obzir samo one fakture koje sadrze vise od 3 stavke.
- SELECT o.naziv, o.adresa, o.mjesto, COUNT(f.faktura), SUM(sf.kolicina*sf.cijena)
- FROM osoba o, faktura f, stavka_fakture sf
- WHERE f.fakturisao=o.osoba
- AND sf.faktura=f.faktura
- AND f.zaprimio = (SELECT s.skladistar
- FROM skladiste s, osoba p
- WHERE p.osoba=s.skladistar
- AND p.datumZaposlenja > s.datumFormiranjaSkladista
- AND f.skladiste = s.skladiste
- OR p.datumZaposlenja > (SELECT a.datumProizvodnje
- FROM artikal a, artikal_arhiva aa
- WHERE aa.artikal = a.artikal
- AND aa.datumPromjene = (
- SELECT MAX(ab.datumPromjene)
- FROM artikal_arhiva ab
- )
- )
- )
- AND (SELECT COUNT(stv.stavka)
- FROM stavke_fakture stv
- WHERE stv.faktura = f.faktura
- ) > 3
- GROUP BY f.fakturisao
- HAVING Avg(sf.cijena) BETWEEN (SELECT a.veleprodajnaCijena
- FROM artikal a
- WHERE sf.artikal=a.artikal
- )
- AND (SELECT c.veleprodajnaCijena
- FROM artikal c
- WHERE sf.artikal=c.artikal
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement