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

Откуда:
Сообщений: 10
Добрый день! Мне надо из таблички вида Картинка с другого сайта. получить таблицу вида Картинка с другого сайта..
Никак не могу применить PIVOT, все время вылазят ошибки.
10 ноя 14, 19:48    [16824718]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Glory
Member

Откуда:
Сообщений: 104751
Lolita123
Никак не могу применить PIVOT

Взать пример из хелпа и подставить в него свои поля ?

Lolita123
все время вылазят ошибки.

И вы их читаете ?
10 ноя 14, 20:25    [16824872]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Lolita123
Member

Откуда:
Сообщений: 10
у меня получается сделать только одну строку. Как добавить вторую непонятно


SELECT 'RedHelper' as period, [01.09.2014 по 07.09.2014], [08.09.2014 по 14.09.2014],[15.09.2014 по 21.09.2014], [22.09.2014 по 28.09.2014], [29.09.2014 по 05.10.2014]

INTO time_table2
From
(select period
,RedHelper
FROM time_table) AS SourceTable
PIVOT
(
min(RedHelper)
FOR period IN ([01.09.2014 по 07.09.2014], [08.09.2014 по 14.09.2014],[15.09.2014 по 21.09.2014], [22.09.2014 по 28.09.2014], [29.09.2014 по 05.10.2014])
) AS PivotTable
10 ноя 14, 20:33    [16824888]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Glory
Member

Откуда:
Сообщений: 104751
Lolita123
Как добавить вторую непонятно

Сделать еще один PIVOT ? Уже для КОЛЛ_ЦЕНТР ?
10 ноя 14, 20:38    [16824899]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Lolita123
Member

Откуда:
Сообщений: 10
Внутри текущего select? У меня не получается.
10 ноя 14, 20:46    [16824934]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Glory
Member

Откуда:
Сообщений: 104751
Lolita123
Внутри текущего select? У меня не получается.

В каком еще "внутри" ?
Просто еще один отдельный запрос
10 ноя 14, 20:49    [16824946]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Lolita123
Member

Откуда:
Сообщений: 10
мне нужна одна таблица на выходе
10 ноя 14, 21:01    [16824980]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Glory
Member

Откуда:
Сообщений: 104751
Lolita123
мне нужна одна таблица на выходе

И что вам мешает добавить в эту таблицу 2 записи последовательно ?
10 ноя 14, 21:02    [16824984]     Ответить | Цитировать Сообщить модератору
 Re: как правильно использовать PIVOT для транспонирования  [new]
Lolita123
Member

Откуда:
Сообщений: 10
Все, я разобралась. Итоговый код
SELECT 'RedHelper' as period, [01.09.2014 по 07.09.2014], [08.09.2014 по 14.09.2014],[15.09.2014 по 21.09.2014], [22.09.2014 по 28.09.2014], [29.09.2014 по 05.10.2014]

From
(select period
,RedHelper
FROM time_table) AS SourceTable
PIVOT
(
min(RedHelper)
FOR period IN ([01.09.2014 по 07.09.2014], [08.09.2014 по 14.09.2014],[15.09.2014 по 21.09.2014], [22.09.2014 по 28.09.2014], [29.09.2014 по 05.10.2014])
) AS PivotTable


UNION
SELECT 'КОЛЛ_ЦЕНТР' as period, [01.09.2014 по 07.09.2014], [08.09.2014 по 14.09.2014],[15.09.2014 по 21.09.2014], [22.09.2014 по 28.09.2014], [29.09.2014 по 05.10.2014]

From
(select period
,[КОЛЛ_ЦЕНТР]
FROM time_table) AS SourceT
PIVOT
(
min([КОЛЛ_ЦЕНТР])
FOR period IN ([01.09.2014 по 07.09.2014], [08.09.2014 по 14.09.2014],[15.09.2014 по 21.09.2014], [22.09.2014 по 28.09.2014], [29.09.2014 по 05.10.2014])
) AS PivotT
10 ноя 14, 21:03    [16824988]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить