Autor | Zpráva | ||
---|---|---|---|
hugo123 Profil * |
#1 · Zasláno: 3. 7. 2014, 00:57:21
Ahojte,
potreboval by som vediet, ako najlepsie spravit nieco taketo: SELECT * from tabulka WHERE nazov LIKE '% IN(moznost1, moznost2, moznost3)%' Rozumiete? Ako najlepsie spravit nieco taketo? Vopred dakujem pekne. |
||
tazatel Profil * |
#2 · Zasláno: 3. 7. 2014, 00:58:52 · Upravil/a: tazatel
LIKE '%neco1%' OR LIKE '%neco2%' OR LIKE '%neco3%' nebo spíš SELECT * from tabulka WHERE nazov LIKE '%neco1%' OR nazov LIKE '%neco2%' OR nazov LIKE '%neco3%' |
||
Tori Profil |
#3 · Zasláno: 3. 7. 2014, 07:41:17
hugo123:
Jestli potřebujete vyhledávat takovýmhle způsobem, tak by bylo rychlejší použít buď fulltext.index + vyhledávání, anebo oddělit jednotlivé hodnoty do další tabulky s vazbou na tuto (podle toho, jaká přesně data tam jsou). |
||
hugo123 Profil * |
#4 · Zasláno: 3. 7. 2014, 11:49:24
tazatel:
No hej, takto to viem aj ja, ale nepride mi to ako elegantne riesenie. Tori: Ako to viem docielit ten fulltext prosim? Nejaky postup step by step? Bol by som Vam velmi vdacny! :) |
||
Tori Profil |
#5 · Zasláno: 3. 7. 2014, 12:30:13
hugo123:
A jaká data přesně tam jsou? Samostatné hodnoty oddělené čárkou/mezerou anebo nějaký souvislý text? |
||
hugo123 Profil * |
#6 · Zasláno: 3. 7. 2014, 13:06:12
Tori:
Su tam slovenske mesta odelenne ciarkou, napriklad: Bratislava, Kosice, Presov (ano viem, ze to nie je rozumne takto, ale proste to tak je). No a teraz pride select, ze chcem vypisat vsetky riadky pre napr. iba Bratislava a Presov Tak co navrhujes, aky select? Vopred dakujem pekne. |
||
Tori Profil |
#7 · Zasláno: 3. 7. 2014, 14:23:20
Je to chybný návrh DB (viz FAQ). Pokud můžete, změňte ho a můžete pracovat s joinem a podstatně rychlejší podmínkou
WHERE sloupec IN ('KE', 'Blava') . Pokud nemůžete měnit schéma DB, odstraňte mezery za čárkami (aby byly jednotlivé hodnoty odděleny jen čárkou) a použijte funkci FIND_IN_SET, to je rychlejší než reguláry.
|
||
Časová prodleva: 10 let
|
0