Autor | Zpráva | ||
---|---|---|---|
Vanama Profil |
#1 · Zasláno: 12. 2. 2009, 11:17:07
Zdravím. Potřeboval bych do dotazu k řazení dát podmínku, že pokud bude reverse_score 1, bude řazení score ASC, v opačném případě score DESC.
To co jsem vytvořil sice nehází žádnou chybu, ale bohužel to ani neřadí :( ORDER BY IF (reverse_score, "score ASC", "score DESC") Vím, že bych mohl použít max(score) a min(score), ale mám tam ještě další řazení dle času hraní a datumu a to nevím jak bych to k tomu přidal. Ještě jsem zkoušel vybrat score pomocí max a min v selectu a poté srovnat score s nejlepším score, ale to prej zas nezná highscore. SELECT IF(reverse_score,min(score),max(score)) as highscore ... WHERE score = highscore ... Poradí prosím někdo? Díky moc. |
||
Kajman_ Profil * |
#2 · Zasláno: 12. 2. 2009, 12:33:41
ORDER BY IF (reverse_score, score, -score) ... having score = highscore ... |
||
Vanama Profil |
#3 · Zasláno: 12. 2. 2009, 14:53:02
Děkuji mnohokrát. První řešení funguje. Druhé mi ale vracelo prázdný výsledek. Možná jsem to špatně sestavil.
Každopádně mnohokrát děkuji. Bez Vás bych to nedal dohromady :) |
||
Vanama Profil |
#4 · Zasláno: 12. 2. 2009, 17:02:23
Ještě bych se chtěl zeptat na jednu maličkost. Nechci kvůli tomu zakládat nové téma ...
Dá se nějak do poddotazu dostat pole z dotazu? SELECT reverse_score ... LEFT JOIN (SELECT ... ORDER BY IF (reverse_score, score, -score) ... ) Tohle mi napíše, že nezná pole reverse_score v klauzuli ORDER BY. |
||
Kajman_ Profil * |
#5 · Zasláno: 12. 2. 2009, 17:09:30
Nejde, ale můžete v tom poddotazu použít také tu tabulku, která reverse_score obsahuje.
|
||
Vanama Profil |
#6 · Zasláno: 12. 2. 2009, 17:10:46
Dobře, děkuji.
|
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0