Я пытаюсь написать SQL-запрос для Microsoft SQL Server 2008. Вот краткий пример моего запроса.
SELECT DISTINCT(field1)
FROM myDatabase
WHERE field1 IN ('dynamic list of ids')
OR ....lots of other conditions....
Затем я хочу упорядочить по этим идентификаторам в динамическом списке по убыванию, а затем по убыванию. Что-то на этот счет.
ORDER BY field1 IN ('dynamic list of ids') DESC,
field1 DESC
Как мне сначала получить идентификаторы в динамическом списке?
Спасибо
РЕДАКТИРОВАТЬ - добавлен DISTINCT к запросу.
РЕДАКТИРОВАТЬ - Ответ, предоставленный Шаном Плурдом.
SELECT DISTINCT(field1),
CASE
WHEN field1 IN ('dynamic list of ids') THEN 1
ELSE 0
END AS logicalOrderingColumn
FROM myDatabase
WHERE field1 IN ('dynamic list of ids')
OR ....lots of other conditions....
ORDER BY logicalOrderingColumn DESC, field1 DESC