Autor Zpráva
Vanama
Profil
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 *
ORDER BY IF (reverse_score, score, -score)


... having score = highscore ...
Vanama
Profil
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
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 *
Nejde, ale můžete v tom poddotazu použít také tu tabulku, která reverse_score obsahuje.
Vanama
Profil
Dobře, děkuji.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0