Возможно ли передать запрос в PIVOT в виде списка столбцов в SQL Server? - PullRequest
3 голосов
/ 02 марта 2010

Как вы знаете, синтаксис PIVOT выглядит следующим образом:

FROM table_source
PIVOT ( 
 aggregate_function ( value_column )
 FOR pivot_column
 IN ( <column_list>)
) table_alias

Я хочу знать, возможно ли, что мы передадим запрос как <column_list> на PIVOT?

В действии хочу написать

FOR DepartmentName IN (SELECT Name From Department))

вместо

FOR DepartmentName IN ([Production], [Engineering], [Marketing]))

Ответы [ 3 ]

2 голосов
/ 02 марта 2010

Список IN определяет макет набора результатов.

Это должно быть известно во время разбора.

1 голос
/ 02 марта 2010

Единственный способ иметь динамический «column_list» - это использовать динамический sql. Вы должны построить свой основной запрос, вставить в него список столбцов и затем запустить его.

Сводная таблица SQL Server 2005 с неизвестным числом столбцов

1 голос
/ 02 марта 2010

Если я правильно вас понимаю, NO , вы можете сделать это только с помощью динамического sql.

...