Autor | Zpráva | ||
---|---|---|---|
Petr Svetr Profil |
#1 · Zasláno: 19. 9. 2008, 11:48:51 · Upravil/a: Petr Svetr
Mam takovyto dotaz:
SELECT `id`,`title`,`description`,`type` FROM medias WHERE MATCH(title) AGAINST ('článek dovolená' IN BOOLEAN MODE) OR MATCH(description) AGAINST ('článek dovolená' IN BOOLEAN MODE) ORDER BY 5 * MATCH(title) AGAINST ('článek dovolená') + MATCH(description) AGAINST ('článek dovolená') AND `publication` = 1 AND `positions` LIKE '%_3%' MySQL vrati vysledky dle klauzule MATCH .. AGAINST, ale bez ohledu na to, ze chci vybirat pouze z radku, kde polozka 'publication' je 1 a positions je '%_3%' . Nejsem v tomhle moc kovanej ale myslim ze problem je v tom OR, jenze to tam potrebuji. Zkusil jsem pridat (po selsku :) zavorky kolem porovnavani, ale bez uspechu (koncilo chybou). Poradite nekdo prosim? |
||
nightfish Profil |
#2 · Zasláno: 19. 9. 2008, 11:55:11
„AND `publication` = 1 AND `positions` LIKE '%_3%' “
máte až v ORDER BY, správně má být ve WHERE takže SELECT `id`,`title`,`description`,`type` FROM medias WHERE `publication` = 1 AND `positions` LIKE '%_3%' AND (MATCH(title) AGAINST ('článek dovolená' IN BOOLEAN MODE) OR MATCH(description) AGAINST ('článek dovolená' IN BOOLEAN MODE)) ORDER BY 5 * MATCH(title) AGAINST ('článek dovolená') + MATCH(description) AGAINST ('článek dovolená') |
||
Petr Svetr Profil |
#3 · Zasláno: 19. 9. 2008, 13:20:22
diky diky diky
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0