Я пытаюсь выбрать из одной таблицы список товаров, заказанных по цене, году, названию и другим.... Проблема в том, что я должен сделать нулевые значения последними при сортировке по возрастанию.
Мой код:
SELECT * FROM Product P
ORDER BY CASE WHEN @OrderBy='Date ASC' THEN Date END ASC,
CASE WHEN @OrderBy='Price ASC' THEN Price END ASC,
CASE WHEN @OrderBy='Title ASC' THEN Title END ASC,
CASE WHEN @OrderBy='' THEN Match END
Это работает, но не ставьте нуль в нижней части списка. Итак, я попытался преобразовать его (см. Следующий код), но он дал мне ошибку Неправильный синтаксис рядом с ','.
SELECT * FROM Product P
ORDER BY CASE WHEN @OrderBy='Price ASC' THEN
(case A.Price WHEN 0 THEN 1 ELSE 0 END,A.Price )
END ASC
Я ценю любую помощь