2015-04-01 6 views
1

Я пытаюсь повернуть эти данные, но я получаю ошибкуPivot с календарем таблицы

Msg 102, Level 15, State 1, Line 16 
Incorrect syntax near ','. 

Подчеркивая запятую после SUM([Total Count]), но он должен быть там, что я должен изменить таким образом мой запрос выполняется должным образом?

select * 
FROM 
(
    select a.regionalLocale As [RL], 
    Count(ID) As [Total Count], 
    CONVERT(VARCHAR(20), dt.week) AS Week 
    FROM database14.dataTable a 
    INNER JOIN calendarDB.masterCalendar dt 
    ON a.SaleDate = dt.FullDate 
    WHERE a.SaleDate IS NOT NULL 
) src 
pivot 
(
    SUM([Total Count]), [RL] 
    For Week IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13]) 
) piv 
+0

Что такое ', [RL]' после 'sum ([total ..)'? – Taryn

+0

Псевдоним для localLocale в запросе выше –

+0

Вы не можете повернуть на несколько столбцов. Что вы ожидаете от конечного результата? Вы пытались удалить это? – Taryn

ответ

0

У вас есть несколько вопросов по вашему запросу.

У вас есть синтаксис SUM([Total Count]), [RL] в вашем PIVOT. Вы хотите включить колонку, которую вы агрегируете здесь.

Во-вторых, в вашем подзапросе нет необходимости использовать count(id), чтобы агрегация PIVOT обрабатывала общее количество. Измените свой код на:

select [RL], 
    [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13] 
FROM 
(
    select a.regionalLocale As [RL], 
    ID, 
    CONVERT(VARCHAR(20), dt.week) AS Week 
    FROM database14.dataTable a 
    INNER JOIN calendarDB.masterCalendar dt 
    ON a.SaleDate = dt.FullDate 
    WHERE a.SaleDate IS NOT NULL 
) src 
pivot 
(
    COUNT(ID) 
    For Week IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13]) 
) piv 
Смежные вопросы