Autor | Zpráva | ||
---|---|---|---|
dan55 Profil |
#1 · Zasláno: 15. 7. 2011, 18:45:59 · Upravil/a: dan55
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 |
#2 · Zasláno: 15. 7. 2011, 18:50:49
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 |
#3 · Zasláno: 15. 7. 2011, 22:44:18
panther:
Díky moc, jde to ;) |
||
Časová prodleva: 13 let
|
0