Я строю сводный запрос внутри CTE.У меня есть таблица Table_1
:
Store Week xCount
------- ---- ------
101 1 138
105 1 37
109 1 59
101 2 282
109 2 97
105 3 60
109 3 87
Это запрос, который я использовал для поворота Table_1
:
with CTE as
(
select
*
from
(select
store, week, xCount
from
table_1) src
pivot
(sum(xcount)
for week in ([1], [2], [3])
) piv;
)
Select *
From CTE
И вот результат, который я получил:
| STORE | 1 | 2 | 3 |
+-------+-----+-----+-----+
| 101 | 138 | 282 | null|
| 105 | 37 | null| 60 |
| 109 | 59 | 97 | 87 |
Результат в порядке, но теперь добавлена еще одна НЕДЕЛЯ.
Я хочу разработать CTE с сводным запросом, который будет автоматически генерировать отдельные недели, и создать столбец на этой основе.
Я провел некоторое исследование и обнаружил, что для этого можно использовать рекурсивный CTE.,Я новичок в рекурсивном CTE, поэтому, пожалуйста, любой может помочь мне решить эту проблему.
Я также пробовал динамический сводный запрос, но CTE не разрешает динамический запрос.
Пожалуйста, помогите.