Můžete napsat více případů, i když mají všechny stejnou podmínku.
ORDER BY
CASE @OrderByColumn WHEN 1 THEN Forename END DESC,
CASE @OrderByColumn WHEN 1 THEN Date END,
CASE @OrderByColumn WHEN 1 THEN Location END,
CASE @OrderByColumn WHEN 2 THEN Surname END ASC
Ve skutečnosti nezadáte sloupec, podle kterého se má seřadit, ale výraz.
Příkaz case vrátí hodnotu null, pokud podmínka není splněna, takže to ve skutečnosti znamená:
CASE @OrderByColumn WHEN 1 THEN Forename ELSE NULL END
Pokud tedy @OrderByColumn není 1, vrátí příkaz vždy NULL. To ji mimochodem nevylučuje z řazení, ale ve výsledku to spojí všechny tyto řádky dohromady, takže 'Příjmení' je rozhodujícím řazením v rámci této skupiny řádků.