SQL podmíněné řazení
Šlo o tohle:
potřeboval jsem seřadit výpis tak, aby v případě že sloupec A má hodnotu X, řadil se sloupec B vzestupně a v ostatních případech, aby se sloupec B řadil sestupně
Přičemž sloupec A byl prvním řadící kritériem (jinak by v tom byl úplnej hokej)
netušil jsem, ale podmínky v ORDER BY v SQL jsou možné
jenže podle nalezených odpovědí na netu:
ale i tohle lze:
můj výsledek pak byl:
ORDER BY
potřeboval jsem seřadit výpis tak, aby v případě že sloupec A má hodnotu X, řadil se sloupec B vzestupně a v ostatních případech, aby se sloupec B řadil sestupně
Přičemž sloupec A byl prvním řadící kritériem (jinak by v tom byl úplnej hokej)
netušil jsem, ale podmínky v ORDER BY v SQL jsou možné
jenže podle nalezených odpovědí na netu:
- http://stackoverflow.com/questions/758655/ms-sql-conditional-order-by-asc-desc-question
- http://stackoverflow.com/questions/3550942/can-you-add-if-statement-in-php-mysql-order-by
ale i tohle lze:
můj výsledek pak byl:
ORDER BY
`schvalovani_stav` ASC,
CASE `schvalovani_stav`
WHEN "schvaleno" THEN datum
WHEN "zamitnuto" THEN datum
END DESC,
CASE `schvalovani_stav`
WHEN "-" THEN datum
END ASC
CASE `schvalovani_stav`
WHEN "schvaleno" THEN datum
WHEN "zamitnuto" THEN datum
END DESC,
CASE `schvalovani_stav`
WHEN "-" THEN datum
END ASC
Komentáře
Okomentovat