LISTING 1: Dynamic ORDER BY Expression That Doesn't Work DECLARE @OrderByOption int SET @OrderByOption = 2 SELECT ProductId ,ProductName FROM products ORDER BY CASE WHEN @OrderByOption = 1 THEN ProductId WHEN @OrderByOption = 2 THEN ProductName END