Как отсортировать список с упорядочением по регистру, когда предложение (SQL Сервер) - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь отсортировать список на основе month и id, так что если это определенные month и id, он будет отсортирован вверху, иначе отсортировать внизу.

Я надеялся использовать заказ с предложением case when, но получаю следующую ошибку:

ORDER BY items must appear in the select list if SELECT DISTINCT is specified.

Query

declare @month int = month(getDate())

select distinct 
[description],
[item],
[meta]
order by case
when @month = 1 and item = 'A00' then 12
when @month = 2 and item = 'B00' then 11
when @month = 3 and item = 'C00' then 10
when @month = 4 and item = 'D00' then 9
when @month = 5 and item = 'E00' then 8
when @month = 6 and item = 'F00' then 7
when @month = 7 and item = 'G00' then 6
when @month = 8 and item = 'H00' then 5
when @month = 9 and item = 'I00' then 4
when @month = 10 and item = 'J00' then 3
when @month = 11 and item = 'K00' then 2
when @month = 12 and item = 'L00' then 1
else 0 end desc

Как я могу ранжировать эти два аргумента?

1 Ответ

1 голос
/ 08 мая 2020

Попробуйте заменить DISTICNT на GROUP BY.

...