Autor Zpráva
dan55
Profil
Ahoj,
tento dotaz by měl vybrat vše podle zadaných kritérií:
select b.id as cat_id,b.nazev as nazev,a.`text`,a.image,a.titulek,a.mesto,a.telefon,a.kraj,a.email,a.email_z,a.typ,a.datum,a.id from in_inzeraty a 
left join in_kategorie b on b.id=a.cat 
where a.cat='1' and a.typ='1' and a.kraj='4' and UPPER(a.titulek) LIKE '%TEST%' or UPPER(a.`text`) LIKE '%TEST%' order by a.id desc limit 0,10

Ovšem vybere všechno co obsahuje slovo test, ale nehledí na číslo kraje, typ a kategorii...Už dlouho nemůžu najít chybu, bude to asi primitivní ;) Můžete mi poradit?
edit: po odebrání té části s like to funguje
panther
Profil
dan55:
pokud se nepletu, AND by měl mít větší váhu než OR, tedy tvůj zápis je totožný s where (.. AND .. AND .. AND) OR neco LIKE test. Druhou podmínkou projde vše, co obsahuje test, bez ohledu na zbytek, máš tam OR.

Pomůže vhodné ozávorkování místo ponechání vše pouhé síle operandů.
dan55
Profil
panther:
Díky moc, jde to ;)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0