|  | MSSQL. Использование pivot | ☑ | 
    
        | 0
    
        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 | 
        вероятно используешь версию диалекта не от твоей версии скуля     |  | 
    
        | 2
    
        megabax   14.08.18✎ 09:58 | 
        Версия 2014, полагаю, там должен быть pivot     |  | 
    
        | 3
    
        megabax   14.08.18✎ 09:59 | 
        ЗЫ. По крайней мере, в книжке по MSSQL 2014 приводиться аналогичный пример использования этой функции     |  | 
    
        | 4
    
        megabax   14.08.18✎ 09:59 | 
        ссори в книжке по 2012, значит версии 2014 должна быть эта команда     |  | 
    
        | 5
    
        Йохохо   14.08.18✎ 10:07 | 
        я не прав, просто влетал в такое с роллап и написал, хз что с пивотом, интересно но не сейчас     |  | 
    
        | 6
    
        yavasya   14.08.18✎ 10:09 | 
        Существует аналог СКД в СКЛ? хотя бы без пользовательских группировок     |  | 
    
        | 7
    
        Лодырь   14.08.18✎ 10:18 | 
        Report Builder     |  | 
    
        | 8
    
        Лодырь   14.08.18✎ 10:19 | 
        Даже вот так
 |  | 
    
        | 9
    
        youalex   14.08.18✎ 10:20 | 
        псевдоним задай у pivot     |  | 
    
        | 10
    
        dubraver   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
 |  | 
    
        | 11
    
        megabax   14.08.18✎ 12:53 | 
        (9) (10) спасибо     |  |