| 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: 15 let
|
|||
0