Вход | Регистрация

Информационные технологии :: Математика и алгоритмы

MSSQL. Использование pivot

MSSQL. Использование pivot
Я
   megabax
 
14.08.18 - 09:55
Добрый день. Изучаю MSSQL, добрался до pivot. Насколько я понял, эта функция позволяет создавать в запросе нечто вроде "шахматки". Делаю такой запрос:
SELECT ticker, period, A, B, C, D
  FROM [Criptobot].[dbo].[SimbolsInfo]
  pivot(sum([count]) for period in(A, B, C, D))

и получаю сообщение что
Сообщение 102, уровень 15, состояние 1, строка 3
Неправильный синтаксис около конструкции ")".

Подскажите пожалуйста, что я делаю не так?
 
 
   Йохохо
 
1 - 14.08.18 - 09:57
вероятно используешь версию диалекта не от твоей версии скуля
   megabax
 
2 - 14.08.18 - 09:58
Версия 2014, полагаю, там должен быть pivot
   megabax
 
3 - 14.08.18 - 09:59
ЗЫ. По крайней мере, в книжке по MSSQL 2014 приводиться аналогичный пример использования этой функции
   megabax
 
4 - 14.08.18 - 09:59
ссори в книжке по 2012, значит версии 2014 должна быть эта команда
   Йохохо
 
5 - 14.08.18 - 10:07
я не прав, просто влетал в такое с роллап и написал, хз что с пивотом, интересно но не сейчас
   yavasya
 
6 - 14.08.18 - 10:09
Существует аналог СКД в СКЛ? хотя бы без пользовательских группировок
   Лодырь
 
7 - 14.08.18 - 10:18
Report Builder
   Лодырь
 
8 - 14.08.18 - 10:19
   youalex
 
9 - 14.08.18 - 10:20
псевдоним задай у pivot
   dubraver
 
10 - 14.08.18 - 10:43
declare @t1 table (ticker int, count int,period datetime, symbol varchar(1))
insert into @t1
  select 1 ticker, 1 [count] , '20180101' period, 'A' as symbol
  union all
  select 2, 2, '20180101', 'B'
  union all
  select 3, 3, '20180101', 'C'
  union all
  select 4, 4, '20180102', 'D'

SELECT  ticker, period,[A], [B], [C], [D]
  FROM @t1
  pivot(
    count([count]) for symbol in ([A], [B],[C], [D])
  ) as pvt
 
 Рекламное место пустует
   megabax
 
11 - 14.08.18 - 12:53
(9) (10) спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует