Zdravo, potrebna mi je pomoc oko jednog upita. Ne mogu da se izborim. Moze biti da je trivijalan, ali ja ne vidim resenje. Evo o cemu se radi.
Uprosticu tabele, tj. smanjicu broj kolona radi preglednosti
Imam tabelu
1. knjige(idknjige,imeknjige)
2. zaduzenja(idknjige,idclana,datumzaduzenja,datumvracanja,vracena,id) //datumvracanja je datum kad treba da se vrati knjiga, a ne kad je vracena.
knjige
1 Gospodar Igre
2 Zlocin I Kazna
3 Na Drini Cuprija
4 Zovem se Crveno
5 IZNOGUD TVRDI POVEZ
6 ŠTRUMPFETA
7 KOMPLET VAMPIRSKI DNEVNICI: 8–1
8 Sezona oluja SEZONA OLUJA
9 PRIPOVESTI BARDA BIDLA
zaduzenja
idknjige,idclana,datumzaduzenja,datumvracanja,vracena,id
4 51 2015-04-23 2015-05-08 1 13
2 50 2015-04-23 2015-05-08 1 14
1 51 2015-04-24 2015-05-09 1 16
1 1 2015-04-27 2015-05-12 0 36
1 45 2015-04-27 2015-05-12 0 38
7 45 2015-04-23 2015-05-08 1 15
Zelim da upitom dobijem sve knjige koje su na raspolaganju za izadavanje u datom trenutku. To su knjige koje:
1. Nisu izdate, odnosno konkretno
1.1. Nema ih u tabeli zaduzenja (nisu nikad izdate)
1.2 Ima ih tabeli zaduzenja ali su vracene (razduzene), dakle kolona 'vracena' = 1
Primer obuhvata situaciju kad je knjiga sa id = 1 (Gospodar Igre) bila jednom izdata pa vracena i ostao je rekord u tabeli (to mi treba radi vođenja evidencije izdavanja knjige), a
takođe ista ta knjiga trenutno izdata. E sad, tu mi je problem. Ja želim da mi upit vrati samo one knjige koje su na raspolaganju. Žonglirao sam upitima, radio except, ali nisam na kraju uspeo da se izvučem. Evo jednog upita za koga sam mislio da mi radi posao:
select k.id, k.naziv,k.autor,k.isbn,k.izdavac,zad.vracena from knjige k
left outer join zaduzenja zad on zad.id_knjige = k.id
where zad.vracena = 1 or zad.vracena is null
Medjutim ako je knjiga bar jednom izdata, ovaj upit mi vraca i nju, a bas nju ne zelim ako je i u tom trenutku izdata. To je situacija sa knjigom "Gospodar Igre" koju sam opisao gore. Nadam se da sam preneo dobro problem. Ako nisam, pitajte da razjasnim jos jednom
http://www.mojestudije.info
Svako ima pravo da se kreće i da bude kreten