Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > union сотировка


Автор: uranpro 30.10.2008, 12:24
как правильно написать запрос:
Код

SELECT null, 'Не задана'
union
SELECT ID, ShName from t_slab
order by ShName

Автор: TaNK 30.10.2008, 12:48
Цитата(uranpro @ 30.10.2008,  12:24)
как правильно написать запрос:
Код

SELECT null, 'Не задана'
union
SELECT ID, ShName from t_slab
order by ShName

Вы поняли что сами написали..кто вас так учил использовать оператор Union?
Пример - 
Код

selec dog_num, par_id from partners where dog_num = 33
UNION
select dog_num, par_id from payer where dog_num = 55

UNION - включает без дубликатов
UNION ALL  с дубликатами

Добавлено через 4 минуты и 39 секунд
и собственно что вы хотите сделать этим запросом?

Автор: uranpro 30.10.2008, 12:56
TaNK, какие еще дубликаты ? там их нет. что-то я не понял ваш пример, как он относиться к моему запросу ? мне нужно вставить в начало отсортированного запроса 2 поля " NULL, 'Не задана' "

Автор: TaNK 30.10.2008, 13:02
Код

SELECT null as ID, 'Не задана' as ShName
UNION 
SELECT ID, ShName from t_slab

так?

Автор: uranpro 30.10.2008, 13:05
TaNK, да, но отсортировать только второй
можно было написать и так
Код

SELECT null, 'Не задана'
union
SELECT ID, ShName from t_slab

Автор: TaNK 30.10.2008, 13:11
Цитата(uranpro @ 30.10.2008,  13:05)
TaNK, да, но отсортировать только второй
можно было написать и так
Код

SELECT null, 'Не задана'
union
SELECT ID, ShName from t_slab

Код

SELECT null as ID, 'Не задана' as ShName
UNION 
SELECT ID, ShName from t_slab
order by 2

ты имелл ввиду по полю ShName? так?
или я чего то не догоняю?

Автор: uranpro 30.10.2008, 13:16
TaNK, )) примерно так
Код

SELECT null as ID, 'Не задана' as ShName --не включать в сортировку, отобразить в начале
UNION 
(SELECT ID, ShName from t_slab    -- сортировать
order by ShName)

Автор: boevik 30.10.2008, 13:16
Если первая строка должна быть первой, то надо использовать дополнительное поле orderid
Код

SELECT null, 'Не задана', 1 orderid
union
SELECT ID, ShName from t_slab, 2 orderid
order by orderid , ShName


Автор: TaNK 30.10.2008, 13:18
то что написал в поледнем посту работать не будет....я не пойму что тебе не устраивает в последнем запросе? 
собирает данные  и сортируем по названию...если не так..то что конкретно тебе нужно сделать..

Автор: uranpro 30.10.2008, 13:19
boevik, вау!)))) гений)) чет я до этого не додумался))

Добавлено через 1 минуту и 53 секунды
TaNK, спасиб, да просто 1 запрос не сортировать, 2 сортировать)

Автор: TaNK 30.10.2008, 13:21
boevik телепеат....а я не понял чего хочет клиент...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)