[ era1 @ 28.07.2006. 16:01 ] @
Sigurno ste 1000 puta vidjali na Web-u mogucnost rezervisanja hotelske sobe preko neta. E sad, na web strani unesete datum dolaska i datum odlaska, a zatim se te vrednosti uporedjuju sa vrednostim u bazi, da bi se proverilo da li u tom periodu ima slobodnih soba... Ja pokusuvam da napravim nesto slicno. Bazu sam osmislio tako da ima (izmedju ostalog) tabela SMESTAJ (sa atributima telefon, kuhinja, klima..... i terminID) i tabela TERMINI (ID, dolazak, odlazak). Za svaku sobu iz tabele SMESTAJ se u tabelu TERMINI upisuju podaci vezani za datum dolaska i datum odlaska. Na kraju treba da se vrednosti datuma sa web strane uporedjuju sa vrednostima u tabeli TERMINI i da se kao rezultat SQL upita prikazu sobe koje su slobodne u zahtevanom terminu! Problem je sto ne mogu da sastavim SQL upit koji ce da zavrsi posao. Razne sam mogucnosti pokusavao, ali ne ide. Da li neko ima iskustvo sa ovim, kako se taj problem odradjuje? Da li sam mozda u startu krenuo pogresnim putem i mozda treba da menjam strukturu baze??? Znaci jos jednom ukratko: Rezimo da u bazi imamo terminDolaska 15.05 i terminOdlaska 25.05 (u tom intervalu je soba zauzeta), a korisnik na siteu trazi smestaj od 05.05. do 16.05. Sistem treba da provali da 16.05. ulazi u interval od 15.05-25.05 i da odbije korisnika!!! Kako da napisem ovaj upit u SQL-u??? =========================================== Probao sam sa sledecim upitom:("dolazakS" je datum dolaska koje je korisnik uneo na siteu, a "dolazakB" je vrednost u bazi, isto vazi i za "odlazakS" i "odlazakB") SELECT...............WHERE ((dolazakB NOT BETWEEN dolazakS and odlazakS) and (odlazakB NOT BETWEEN dolazakS and odlazakS) and (dolazakS NOT BETWEEN dolazakB and odlazakB) and (dolazakS NOT BETWEEN dolazakB and odlazakB) Ovo se najlakse razume kad se uzme kalendar u ruke :))) Ali se javlja greska: Syntax error!!! Pozdrav svima... |