Autor | Zpráva | ||
---|---|---|---|
24k Profil * |
#1 · Zasláno: 26. 10. 2006, 15:46:26
Zdravim,
existuje reverzni fce ke GROUP_CONCAT? (GC udela z radku string do jednoho radku a ja potrebuji opak). Abych to upresnil tak mam select
vysledkem je bohuzel string -> "1,2,3,51,222"; a ja z nej potrebuji udelat nejakou reverzni fci COSI co dosadim do dalsiho selectu do operatoru IN() tj neco jako SELECT * from vysledky WHERE id IN ( SELECT NEJAKA_FUNKCE(zapasy) from souteze where id=1 ) Diky PS. O uprave tabulek pls nepsat, vim jak ma vypadat spravne navrzena relace, hledam proste reseni tohoto problemu pokud existuje. |
||
Kajman_ Profil * |
#2 · Zasláno: 26. 10. 2006, 15:54:27
where find_in_set(id,zapasy)
|
||
24k Profil * |
#3 · Zasláno: 26. 10. 2006, 15:58:45
Kajmane jak to ma vypadat cele? Nejak mi to ani po precteni fce nedava smysl.
Tato fce vraci cislo vyskytu hledaneho znaku |
||
Kajman_ Profil * |
select * from vysledky v, souteze z where find_in_set(v.id,z.zapasy) and z.id=1
|
||
mila Profil |
#5 · Zasláno: 26. 10. 2006, 16:02:10 · Upravil/a: mila
Zkus něco jako strpos. Nevím jakou má přesně sytnaxi v SQL, ale není problém si to najít.
Něco jako
Idea je, že číslo musí být podřetězec, před ním a za ním ale musí být čárka (aby to nevybralo 1, kde je 120), a aby se ošetřil první a poslední, tak se před a za přidá také čárka. P.S. Bude to ale neskutečně pomalé a ošklivé. Uprav tabulky:) EDIT: Pozdě, řešení to není jistě pěkné, jestli funguje něco jako find_in_set, jistě to bude lepší.. |
||
24k Profil * |
#6 · Zasláno: 26. 10. 2006, 16:06:01
Super! Btw jde to vubec konstrukci JOIN?
|
||
24k Profil * |
#7 · Zasláno: 26. 10. 2006, 16:06:35
Mluvim na kaimana .. ;)) s tim JOINEM, mila diky za snahu
|
||
Kajman_ Profil * |
#8 · Zasláno: 26. 10. 2006, 16:13:38
select * from vysledky v join souteze z on z.id=1 where find_in_set(v.id,z.zapasy)
select * from vysledky v join souteze z on find_in_set(v.id,z.zapasy) and z.id=1 |
||
24k Profil * |
#9 · Zasláno: 26. 10. 2006, 16:15:37
nejak jsem zil v domneni ze JOIN syntaxe a jeji spojeji ON tab1.sloupec = tab2.sloupec ma platit vzdy a vsude.
Tady to tak nevypada. Diky moc za nove rozsireni obzoru |
||
Kajman_ Profil * |
#10 · Zasláno: 26. 10. 2006, 16:18:54
Používá se to tak, protože tak můžeš pomoci mysql s optimalizací. V tomhle případě asi rychlost nebude moc rozdílná.
|
||
MzM Profil * |
#11 · Zasláno: 27. 10. 2006, 13:19:10
nojo, ale krom toho, že to bude o půl promile rychlejší, tak se v tom nikdo nevyzná....
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0