Реализуйте Частичный отсортированный запрос в SQL-сервере 2005

Я должен показать записи таким способом, которым должны быть на первом месте некоторые выбранные записи. После этого другой записывает, существуют отсортированного способа от той же таблицы.

Например, Если я выбираю состояние, имеющее stateID = 5 затем, соответствующая запись должна быть на первом месте. после того, как это, которое другой записывает, должно существовать отсортированного способа.

Для этого я попробовал объединение, но оно показывает все в отсортированном.

select state from statemaster where stateid=5
union all
select state from statemaster
where not stateid =5
order by state

Спасибо

5
задан Brij 23 March 2010 в 08:18
поделиться

2 ответа

Этот будет использовать CASE , чтобы сначала вывести состояния с stateid = 5 , а затем остальные. Второй критерий сортировки - это состояние .

Select state
From statemaster
Order By
  Case When stateid = 5 Then 0 Else 1 End,
  state
7
ответ дан 14 December 2019 в 08:47
поделиться

Это будет полезно, если у вас более 2 союзов

select 1 as sort_id,  state from statemaster where stateid=5
union all
select 2 as sort_id, state from statemaster
where stateid between 1 and 4
union all
select 3 as sort_id, state from statemaster
where stateid > 5
order by sort_id, state
0
ответ дан 14 December 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: