Ответ 1
Один способ;
SELECT Name FROM (
SELECT 'All' as Name
UNION
SELECT DISTINCT Manager
FROM IS_Projects
) T
ORDER BY CASE Name WHEN 'All' THEN 0 ELSE 1 END, Name
Я пишу SQL-запрос, чтобы получить список параметров для отчета в построителе отчетов 3.0. Мне нужно было добавить дополнительную строку со значением "Все" к таким результатам:
SELECT 'All'
UNION
SELECT DISTINCT Manager
FROM IS_Projects
Это прекрасно работает, но запрос возвращает строки, отсортированные в алфавитном порядке, где я на самом деле хочу, чтобы "Все" отображалось в верхней части страницы (т.е. возвращалось как первая строка). Остальные результаты можно отсортировать в алфавитном порядке.
Я видел предложения по добавлению столбца сортировки в таблицу, но я довольно новичок в SQL и не знаю, как это сделать.
Спасибо за любые предложения!
Один способ;
SELECT Name FROM (
SELECT 'All' as Name
UNION
SELECT DISTINCT Manager
FROM IS_Projects
) T
ORDER BY CASE Name WHEN 'All' THEN 0 ELSE 1 END, Name
Это один из способов:
SELECT Manager
FROM (SELECT 'All' Manager, 1 Order
UNION ALL
SELECT DISTINCT Manager, 2 Order
FROM IS_Projects) A
ORDER BY Order, Manager