[ Tudfa @ 06.03.2008. 20:28 ] @
Pozdrav svima,

imam ovakav upit koji se generiše na osnovu unosa sa forme :

Code:


SELECT * FROM filmoteka.film WHERE ( naziv like '%a%') AND ( godina > 1990) AND ( trajanje < 110) AND id in
(SELECT idfilma FROM uloge WHERE idglumca in
(SELECT id FROM glumac WHERE ( ime like '%b%') or( ime like '%c%') AND ( prezime like '%d%') and( prezime like '%e%') AND id IN
(SELECT idfilma FROM zanrovi_filma WHERE (idzanra =5))))



E sad da li ja ne vidim dobro, ili sam neka pravila SQL-a zapostavio, ali kad npr. izmenim parametar prezime u:

Code:


(prezime like '%doiajdi%')



i ručno izvršim upit, dobijem indentičan rezultat tipa : 80 rows fetched in ...

Šta li sam ja tu prevideo?
[ chachka @ 06.03.2008. 21:26 ] @
Imaš OR u upitu
[ Tudfa @ 06.03.2008. 22:49 ] @
Zdravo chachka, evo opet ti meni odgovaraš a ja opet grešim u početničkom maniru...

Na formi postoje dva tekstualna polja za ime i dva tekstualna polja za prezime glumca(ne pitajte ništa, nije do mene).
Takodje na formi izmedju polja postoji po jedan select meni sa opcijom OR i AND.
Ovo mi je "predlozeno" da uradim da bi korisnik mogao da trazi film u kojem npr. glume Al Pacino i/ili De Niro.

E sad u ovom upitu taj OR koji dolazi kao vrednost select menija bi trebalo da omogući prikaz filmova u kojem glumi glumac čije ime sadrzi slovo ''b" ili slovo "c" . Kako ovo izvesti ?

Sad mi je jasno da je OR operator sredio da se dalji uslovi ne ispituju .

Hvala





[ chachka @ 06.03.2008. 23:20 ] @
valjda ovako:
Code:
(ime LIKE '%b%' AND prezime LIKE '%d%')
OR
(ime LIKE '%c%' AND prezime LIKE '%e%')