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


Автор: GShadrin 22.11.2010, 19:39
Здравствуйте.

В таблице есть три колонки a,b,c с однотипными значениями, необходимо вернуть таблицу с одной колонкой, в которой будут элементы из колонок a,b,c (делается это, чтобы отсортировать элементы). Как такое можно сделать?

Автор: Zloxa 22.11.2010, 19:57
По какому принципу должна формироваться эта одна колонка - военная тайна?

Автор: GShadrin 22.11.2010, 20:07
Не очень четко написал.
Принцип. Смещать все данные из трех колонок в одну и упорядочить.

Автор: Zloxa 22.11.2010, 20:11
Хорошо, так не получается, попробуем на пальцах.
У тебя есть значения a=1,b=2,c=3. Что должно получиться  результате "смешания"?

Добавлено через 5 минут и 53 секунды
кажись я понял что тебе нужно:

Код

select case when pivot.rn = 1 then a
            when pivot.rn = 2 then b  
            when pivot.rn = 3 then c
       end   result
from table,(select 1 rn union all select 2 union all select 3) pivot
order by result


если он не захочет так ордер бай понятЬ - попробовать order by 1
если не захочет и так понимать - подставить кейс в ордербай.

Добавлено через 12 минут и 20 секунд
а еще для того есть модный http://msdn.microsoft.com/ru-ru/library/ms177410.aspx

Автор: GShadrin 22.11.2010, 22:56
Спасибо.
Сделал через unpivot

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