Вот ситуация, которую я пытаюсь решить:
У меня есть запрос, который может вернуть набор записей.Поле, по которому можно отсортировать, может иметь несколько различных значений - ради этого вопроса мы скажем, что значение может быть A, B, C, D, E или Z
Теперь в зависимости от результатовВ запросе сортировка должна вести себя следующим образом: если найдены только записи AE, то сортировка их «естественно» - это нормально.Но если в результатах присутствует запись Z, то это должен быть первый результат в запросе, а остальные записи должны быть в «естественном» порядке сортировки.
Например, если найдены ACD, тогда результат должен быть
A
C
D
Но если ABDEZ найден, результат должен быть отсортирован:
Z
A
B
D
E
В настоящее время запрос выглядит так:
SELECT NAME, SOME_OTHER_FIELDS FROM TABLE ORDER BY NAME
Я знаю, что могу кодировать функцию сортировки, чтобы делать то, что я хочу, но из-за того, как я использую результаты, я не могу использовать их, потому что результаты обрабатываются сторонней библиотекой, для которой я простопрохождение запроса SQL.Затем он обрабатывает результаты, и у меня, похоже, нет никаких ловушек для сортировки результатов и просто передачи результатов в библиотеку.Он должен выполнять сам SQL-запрос, и у меня нет доступа к исходному коду библиотеки.
Так что для всех вас, гуру SQL, можете ли вы предоставить мне запрос, который будет делать то, что яхотите?