[ Cyberghost @ 06.09.2008. 19:48 ] @
Nisam siguran kako precizno da definisem pitanje, ali evo primera:

Kako napraviti upit:

Podatak u bazi: automobil opel astra 2.0 TDI

String1 za pretragu: auto astr tdi
String2 za pretragu: astra auto 2.0 // nadji sve zapise koji sadrze astra, iz liste nadjenih nadji sve koji sadrze auto, iz liste nadjenih nadji
one koji sadrze 2.0 i prikazi rezultat.

Nadam se da sam bio jasan. Znam da ovo moze da se isprogramira, ali sam skoro siguran da
postoji nacin da sam mySQL ili drugi DBMS odradi posao preko upita.
[ Nikola Poša @ 07.09.2008. 10:02 ] @
Poshto vidim da je bilo dosta pregleda ove teme, a niko ti ne odgovara, da probam ja neshto, al' nisam siguran da sam bash dobro razumeo shta trazhish... Probaj npr. ovako:
Code:

SELECT * FROM automobili WHERE naziv LIKE '%astra%' OR naziv LIKE '%auto%' OR naziv LIKE '%2.0%';

To verovatno nije ono shto trazhish, al' dobro je za pochetak. :) Opet kazhem, ne razumem bash tachno tvoje pitanje...
[ Cyberghost @ 07.09.2008. 10:22 ] @
Citat:
raynor
Code:

SELECT * FROM automobili WHERE naziv LIKE '%astra%' OR naziv LIKE '%auto%' OR naziv LIKE '%2.0%';



Ne moze ovako.
Poenta je da se za uslov pretrage koriste svi delovi stringa, znaci ukoliko u bazi postoji zapis : astra ili zapis opel
za trazeni string: auto astr tdi nebi izbacio ni jedan od ova dva, ali zato ako postoji zapis: automobil opel astra 2.0 tdi tada bi ga izbacio
jer sva tri dela stringa za pretrazivanje se sadrze u zapisu.

Da rezimiram: imam 3 reci u stringu za pretragu, da bi se vratio zapis iz tabele potrebno je da zapis u tabeli sadrzi sva ta tri dela stringa ali
da pritom raspored reci zapisa u bazi nije bitan, sto znaci da bi za trazeni string vratio rezultat bilo da je u bazi zapisano: automobil opel astra 2.0 tdi, bilo
da je zapisano: opel astra automobil tdi 2.0, jer se sve 3 reci iz stringa za pretragu sadzre u zapisu.

[ Skaarj @ 07.09.2008. 10:55 ] @
Mislim da bi regularni izrazi resili tako nesto

Code:
SELECT * FROM automobili WHERE naziv REGEXP 'auto' AND naziv REGEXP 'tdi' AND naziv REGEXP 'astr'


Naravno regularne izraze mozes prilagoditi kako ti vec odgovara.
[ Cyberghost @ 07.09.2008. 13:02 ] @
Citat:
Skaarj: Mislim da bi regularni izrazi resili tako nesto

Code:
SELECT * FROM automobili WHERE naziv REGEXP 'auto' AND naziv REGEXP 'tdi' AND naziv REGEXP 'astr'


Naravno regularne izraze mozes prilagoditi kako ti vec odgovara.


E upravo sam zato i postavio pitanje jer nisam znao kako se zove taj deo, posto mi je do sad u programiranju
trebale osnovne komande.
Probacu pa javljam rezultat.


Probao: Radi kao sat, znaci hvala ti od srca na pomoci !