У меня возникла сложность при разработке процедуры, которая выполняла бы поворот с заданным агрегатом на таблице, указанной ниже. Процедура должна динамически принять все записи из Sales.Month и сводной таблицы на него, используя заполнитель передается в порядке, так, например, если бы мы пройти SUM (передача с помощью VARCHAR, а затем EXEC на динамически созданный запрос) по продажам:Выполнение pivot без оператора PIVOT
Продажи:
Item Month Price
-------------------
Book Jan 230
Book Jan 100
Game Jan 50
Game Feb 80
Stick Mar 190
Итоговые: ("повернуты")
Item Jan Feb Mar
------------------------
Book 330 null null
Game 50 80 null
Stick null null 190
Я не могу придумать синтаксис, который позволит мне сделать это.
Редактировать заметку: Основная трудность здесь на самом деле «Не использовать» родной «PIVOT».
Google : «Динамический стержень SQL Server». –
Но я не могу использовать оператор PIVOT. С осью опоры было бы намного проще. – Ernio
. , И почему вы не можете использовать 'pivot'? Кроме того, по слухам, условная агрегация, как правило, быстрее. –