DECLARE @SortCol VARCHAR(100) DECLARE @SortDir VARCHAR(4) DECLARE @top INTEGER SET @SortCol = 'userId' SET @SortDir = 'ASC' SET @top = 5 SELECT TOP(@top) userId ,username FROM users ORDER BY CASE WHEN @SortCol = 'userId' AND @SortDir = 'ASC' THEN userId END ASC, CASE WHEN @SortCol = 'userId' AND @SortDir = 'DESC' THEN userId END DESC, CASE WHEN @SortCol = 'username' AND @SortDir = 'ASC' THEN username END ASC, CASE WHEN @SortCol = 'username' AND @SortDir = 'DESC' THEN username END DESC