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

Откуда:
Сообщений: 2
День добрый.
Имеется таблица:
Дата Движение Кол-во
01.01.2012 Покупка 1
02.01.2012 Продажа 4
03.01.2012 Перемещение 6
03.01.2012 Продажа 3
03.01.2012 Продажа 5
05.01.2012 Покупка 8
07.01.2012 Продажа 5
08.01.2012 Перемещение 7
как с помощью запроса преобразовать ее в вид:

Дата Покупка Продажа Перемещение
01.01.2012 1
02.01.2012 2
03.01.2012 8 6
05.01.2012 8
07.01.2012 5
08.01.2012 7
21 дек 12, 14:02    [13665752]     Ответить | Цитировать Сообщить модератору
 Re: транспонирование  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
если версия позволяет, то PIVOT
21 дек 12, 14:15    [13665838]     Ответить | Цитировать Сообщить модератору
 Re: транспонирование  [new]
srp
Member

Откуда:
Сообщений: 2
не, не позволяет..
21 дек 12, 15:06    [13666276]     Ответить | Цитировать Сообщить модератору
 Re: транспонирование  [new]
Гость333
Member

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

set language russian; -- чтобы сервер принял даты в кривом формате

declare @Таблица as table (Дата datetime, Движение varchar(100), Колво int);

insert @Таблица values ('01.01.2012', 'Покупка', 1);
insert @Таблица values ('02.01.2012', 'Продажа', 4);
insert @Таблица values ('03.01.2012', 'Перемещение', 6);
insert @Таблица values ('03.01.2012', 'Продажа', 3);
insert @Таблица values ('03.01.2012', 'Продажа', 5);
insert @Таблица values ('05.01.2012', 'Покупка', 8);
insert @Таблица values ('07.01.2012', 'Продажа', 5);
insert @Таблица values ('08.01.2012', 'Перемещение', 7);

select Дата,
       sum(case when Движение = 'Покупка' then Колво else null end) as Покупка,
       sum(case when Движение = 'Продажа' then Колво else null end) as Продажа,
       sum(case when Движение = 'Перемещение' then Колво else null end) as Перемещение
from @Таблица
group by Дата;
21 дек 12, 15:10    [13666309]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить