Autor | Zpráva | ||
---|---|---|---|
Valej Profil |
Dobrý deň, prosím poradiť s nasledovným (pre iných možno jednoduchým) problémom:
Mám tabuľku s viacerými stĺpcami, v ktorej sa v troch stĺpcoch vyskytujú dáta podľa nasledovnej logiky, uvediem príklad, máme povedzme riadok s hodnotami A B C 1 66 44 tak niekde inde je riadok tabuľky majúci nasledovné hodnoty A B C 2 44 66 Obecne povedané, v stĺpci A je vždy hodnota 1 alebo 2, pričom hodnoty stĺpcov B a C môžu byť ľubovoľné, ale sú vzájomne vymenené podľa hodnoty stĺpca A. Môj problém je v tom, že nie som schopný vytvoriť select, ktorý by tabuľku triedil tak, že výpis by bol zoradený tak ako je to urobené vyššie, respektíve teda takto: A B C 1 66 44 2 44 66 1 7 9 2 9 7 atď ... |
||
Kajman Profil |
#2 · Zasláno: 29. 11. 2012, 11:16:55
Ačkoli to ukládání smysl nedává, příkladová data by mohlo řadit
order by if(A=1,B,C), if(A=1,C,B), A |
||
Tori Profil |
Valej:
Pro každou dvojici hodnot tam tedy máte 2 řádky, které se liší jen tím, že podruhé jsou hodnoty ve sloupcích B a C přehozené? Ostatní sloupce (kromě A) se v této dvojici řádků shodují či ne? Můžu se jen ze zvědavosti zeptat, jaká data takhle ukládáte? (Tipuji to na soukromé zprávy mezi uživateli.) |
||
Valej Profil |
#4 · Zasláno: 29. 11. 2012, 11:46:10
Tori:
Ostatné stĺpce sa nezhodujú (teda väčšinou nie, náhodne sa niektoré údaje zhodovať môžu). Dáta sú z kartovej hry bridž, z wirelles servera zvaného bridgemate, ktorý sa používa na posielanie výsledkov z jednotlivych hracích stolov za účelom ich evidencie a výpočtu celkového poradia hráčov. |
||
Valej Profil |
#5 · Zasláno: 29. 11. 2012, 13:01:48
Kajman:
Ľutujem, ale nie je jasné, ako to môže fungovať (druhé if malo asi mať ako prvú podmienku A=2). Za riadkom s hodnotou A=1 totiž musí vždy nasledovať riadok s hodnotou A=2, pričom stĺpce B a C majú prehodené hodnoty, takže nestačí len obecné triedenie podľa týchto stĺpcov, musí to byť triedené podľa konkrétnych hodnôt predošlého riadku v prípade, že A=1. A tieto dvojice údajov sa striedajú až do vyčerpania všetkých možností. |
||
Kajman Profil |
#6 · Zasláno: 29. 11. 2012, 13:10:36
Valej:
„ale nie je jasné, ako to môže fungovať“ Řadí to podle (B pro jedničky, C pro ostatní), pokud jsou stejné hodnoty, tak podle (C pro jedničky, B pro ostatní), pokud jsou stejné i ty, tak podle A. Zkoušel jste to vůbec? |
||
Valej Profil |
#7 · Zasláno: 29. 11. 2012, 13:44:05
Kajman:
No práve že skúšal, ale neúspešne. Teraz som to teda vyskúšal ešte raz. Ospravedlňujem sa, funguje to bezchybne. Síce stále tomu úplne nerozumiem, ale deň je ešte dlhý :). Ďakujem. |
||
Časová prodleva: 11 let
|
0