Ошибка преобразования типа данных nvarchar в int в нескольких сводных по одному столбцу SQL - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь использовать несколько сводок в одном запросе к одному столбцу.Так как я использую один и тот же столбец «месяц» для всех сводных, я добавил заголовок столбца в список выбора и добавил другое имя псевдонима.Столбец месяца имеет значение типа данных int.Ниже приведен код:

    Select * FROM  
    (
    SELECT 
    [team], 
    Count_O,
    Count_Of_OA,
    Avg,
    [month]+ '_a'  as month_a, 
    [month] + '_b' as month_b,
    [users]  
    FROM [#Temp]
    ) AS X 

    PIVOT  
(  
    MAX(Count_OA)
    FOR [month_a] IN ([4_a], [5_a], [6_b])  
)   AS PivotTable1

PIVOT  
(  
    MAX(Count_O)
    FOR [month_b] IN ([4_b], [5_b], [6_b])  
)   AS PivotTable2

Когда я выполняю это, я получаю следующую ошибку: Msg 8114, Уровень 16, Состояние 1, Строка 44 Ошибка преобразования типа данных nvarchar в int.

Любые материалы будут высоко оценены.

1 Ответ

0 голосов
/ 19 сентября 2018

Попробуйте это

Select * FROM  
    (
    SELECT 
    [team], 
    Count_O,
    Count_Of_OA,
    Avg,
    Convert(varchar(max),[month])+ '_a'  as month_a, 
    Convert(varchar(max),[month]) + '_b' as month_b,
    [users]  
    FROM [#Temp]
    ) AS X 

PIVOT  
(  
    MAX(Count_OA)
    FOR [month_a] IN ([4_a], [5_a], [6_b])  
)   AS PivotTable1

PIVOT  
(  
    MAX(Count_O)
    FOR [month_b] IN ([4_b], [5_b], [6_b])  
)   AS PivotTable2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...