Autor | Zpráva | ||
---|---|---|---|
Jack06 Profil |
Dobrý den, chtěl bych se zeptat, jak přes sql dotaz porovnat jen část sloupce:
mám sloupec: zaznamy a v něm data uložena takto: nejakytext-cislo nejakytext-cislo nejakytext-cislo Já bych potřeboval porovnat, zda to číslo je větší jak $cislo a jen ty vyhovující záznamy vybrat. Bohužel nevím zda lze a jak porovnat jen tu část za pomlčkou. Děkuji //jen doplním pokud to nelze lehce, tak ten text: nejakytext vím jaký je ještě před dotazem, takže by se dal použít či délka použít či cokoli aby to šlo nějak vybrat |
||
Casero Profil |
#2 · Zasláno: 5. 5. 2012, 17:22:27
Pokud se vyskytuje pouze jedna pomlčka, tak například takto:
...where SUBSTRING(zaznamy,LOCATE("-", zaznamy)+1)>$cislo Ale bylo by lepší dodržovat normální formy a mít nejakytext v jednom sloupci a cislo ve druhém. |
||
Jack06 Profil |
#3 · Zasláno: 5. 5. 2012, 22:08:27
Casero:
Nu tak stačit to asi bude, mě napadlo subselectem to ještě řešit no, tam jde o to, že já kontroluji, ten text a porovnávám číslo takže hledám, kde text_pred_pomlckou == nejakytext a text_za_pomlckou > $cislo |
||
Casero Profil |
#4 · Zasláno: 5. 5. 2012, 23:25:03
...where SUBSTRING(zaznamy,LOCATE("-", zaznamy)+1)>$cislo and zaznamy like "$text-%"
|
||
Tori Profil |
#5 · Zasláno: 6. 5. 2012, 09:02:57
Jack06:
Můžete kdyžtak dát konkrétní příklad, co je to za údaj - sériové číslo něčeho (výrobku, faktury, ...)? Používá se jako primární klíč, nebo se může někde opakovat (celý údaj text-číslo, nebo i jen ta samotná textová část)? Je textová část závislá na údaji z jiné tabulky (např. všechny výrobky z jedné kategorie začínají stejným textem)? Možná by to šlo ukládat i do dvou sloupců, pak by se s tím lépe pracovalo. |
||
Jack06 Profil |
#6 · Zasláno: 6. 5. 2012, 13:37:52
Tori:
jedná se pouze o ukládání odpovědí, kde: radek_odpovedi-odpoved_z_inputu radek_odpovedi může být číslo nebo to může být i text .. nijak dále to použité jako ke klíči nebo tak není. Jedná se o něco jako filtrování odpovědí z ankety. Výše uvedené řešení by mělo stačit záznamy jsou většinou do 100znaků a rozdělit se do více sloupců nedají, tak to již je udělané.. filtrování je pouze doplněk k tomu systému |
||
Kajman Profil |
#7 · Zasláno: 7. 5. 2012, 20:46:27
Jack06:
„rozdělit se do více sloupců nedají, tak to již je udělané“ Pokud to chcete řešit databázově, tak si data rozdělte. Jinak to bude pomalé a můžete si to i naprogramovat mimo sql. |
||
Časová prodleva: 12 let
|
0