【问题标题】:Is it possible that we pass a query to PIVOT as column list in SQL Server?我们是否可以将查询作为 SQL Server 中的列列表传递给 PIVOT?
【发布时间】:2011-01-22 17:26:06
【问题描述】:

如您所知,PIVOT 语法如下:

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

我想知道我们是否可以将查询作为&lt;column_list&gt; 传递给PIVOT

在行动中,我想写

FOR DepartmentName IN (SELECT Name From Department))

而不是

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

【问题讨论】:

    标签: sql sql-server tsql pivot


    【解决方案1】:

    IN 列表定义结果集布局。

    应该在解析时知道。

    【讨论】:

      【解决方案2】:

      如果我理解正确,,你只能使用动态 sql 来做到这一点。

      【讨论】:

        【解决方案3】:

        拥有动态“column_list”的唯一方法是使用动态 sql。您必须构建主查询,将列列表注入其中,然后运行它。

        SQL Server 2005 Pivot on Unknown Number of Columns

        【讨论】:

          猜你喜欢
          • 2021-12-05
          • 2013-01-16
          • 1970-01-01
          • 1970-01-01
          • 2016-10-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多