Подтвердить что ты не робот

Как сохранить определенную строку в качестве первого результата запроса (T-SQL)?

Я пишу SQL-запрос, чтобы получить список параметров для отчета в построителе отчетов 3.0. Мне нужно было добавить дополнительную строку со значением "Все" к таким результатам:

SELECT 'All'
UNION
SELECT DISTINCT    Manager
FROM               IS_Projects

Это прекрасно работает, но запрос возвращает строки, отсортированные в алфавитном порядке, где я на самом деле хочу, чтобы "Все" отображалось в верхней части страницы (т.е. возвращалось как первая строка). Остальные результаты можно отсортировать в алфавитном порядке.

Я видел предложения по добавлению столбца сортировки в таблицу, но я довольно новичок в SQL и не знаю, как это сделать.

Спасибо за любые предложения!

4b9b3361

Ответ 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

Ответ 2

Это один из способов:

SELECT Manager
FROM (SELECT 'All' Manager, 1 Order
      UNION ALL
      SELECT DISTINCT Manager, 2 Order
      FROM IS_Projects) A
ORDER BY Order, Manager