[ MatezYU @ 23.08.2007. 07:28 ] @
Imam tri tabele. Jednu glavnu i dve pomocne.
E sada ova glavna je povezana sa jednom pomocnom preko sifre a ove dve pomocne su vezane preko njihove interne sifre.
Kako da napravim to da sto brze radi?
Dakle ovako nekako izgleda:

KNJIGA (tabela 1)
LIST (tabela 2)
BOJA (tabela 3)

(ovo dajem samo kao primer)

KNJIGA.sifra = LIST.sifra

LIST.boja = BOJA.boja

Kako da ih vezem da ovo radi najbrze?
[ broker @ 23.08.2007. 08:41 ] @
Tako kako si zamislio. Samo postavi ogovarajuce indekse.
[ MatezYU @ 23.08.2007. 08:56 ] @
Da li prvo da uradim upit za sve
LIST.boja = BOJA.boja pa onda odatle da poredim KNJIGA.sifra = LIST.sifra. Posto radim pretragu knige na prvo slovo sa like.
[ broker @ 23.08.2007. 10:27 ] @
Aj ponovi sta tacno zelis da uradis, posto nije bas jasno.

U principu, u jednom upitu join-ujes sve tri tabele kako treba a onda sa where filtriras po uslovu koji ti treba.
[ drvlada75 @ 23.08.2007. 13:28 ] @
KNJIGA (tabela 1)
LIST (tabela 2)
BOJA (tabela 3)

(ovo dajem samo kao primer)

KNJIGA.sifra = LIST.sifra

LIST.boja = BOJA.boja

Upit ce najbolje raditi ako se izbegne naredba IN i tabele vezu odjednom preko polja boja i sifra. Recimo:
select k.sifra,l.boja,b.boja from knjiga k,list l,boja b where
k.sifra=l.sifra and l.boja=b.boja (opciono and b.boja='zelena')