Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 case when ... then, pivot  [new]
ilya80let
Member

Откуда:
Сообщений: 24
Помогите с запросом.
Надо развернуть таблицу.
val1 date1
val1 date2
val1 date3
val1 date4
val2 date5
val2 date6
val2 date7
чтобы получилось
val1 date1 date2 date3 date4
val1 date5 date6 date7
На ум пока идет ужас в цикле
select case when min(date) then date1, case when max(date) then date4 from t1 where val = val1

date2, date3 уже не пролезет. Да и цикл по val. Как это реализовать и чтобы не задействовать PIVOT(надо)?
23 окт 13, 15:14    [15021208]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then, pivot  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
ilya80let,

Разбить таблицу на 2 части, каждую транспонировать кейсом и потом UNION.
23 окт 13, 15:17    [15021255]     Ответить | Цитировать Сообщить модератору
 Re: case when ... then, pivot  [new]
qwerty112
Guest
ilya80let,

row_number-ом нумеруешь строки с partition by val order by date
и потом делаешь pivot max(date) for rn in ([1],[2],[3],....)
23 окт 13, 15:39    [15021464]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить