У меня есть оператор select, где я хочу заказать по различным критериям на основе выражения CASE, но у меня возникают проблемы с синтаксисом, когда я хочу заказать по нескольким критериям. Я хотел бы, чтобы он был похож на следующий код, но я получаю синтаксические ошибки.ORDER BY с двумя критериями в выражении CASE
SELECT *
FROM Table1
ORDER BY
CASE WHEN @OrderBy = 1 THEN Column1, Column2 END,
CASE WHEN @OrderBy = 2 THEN Column3 END,
это работает только если Column1 и Column3 имеют совместимые типы данных. –
Согласен, но, надеюсь, оригинальный плакат понимает 'CAST' и/или' CONVERT'. –
Я просто говорю, что, как написано, он может вернуться с ошибкой преобразования типа данных. Обычно полезно опубликовать такой отказ от ответственности, а не просто предположить, что ОП поймет, что делать ... –