使用子查询填充 unpivot 列列表

Posted

技术标签:

【中文标题】使用子查询填充 unpivot 列列表【英文标题】:using a sub-query to populate unpivot columns list 【发布时间】:2011-10-20 12:46:15 【问题描述】:

我目前无法访问服务器来对此进行测试,但是我将如何执行以下操作

UNPIVOT (X for XY IN (
SELECT column_name AS [XY]
    FROM Information_schema.Columns
    WHERE Table_name = XYZ AND column_name LIKE '[0-9][0-9][0-9][0-9]'
)) AS unpivotedData

即是否可以动态填充要取消透视的列列表而不是静态声明它们

【问题讨论】:

【参考方案1】:

您需要使用动态 sql 来执行此操作。请参阅以下 SO 问题: T-SQL Pivot? Possibility of creating table columns from row values

【讨论】:

以上是关于使用子查询填充 unpivot 列列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用子查询填充 Access 查询中的列

从列列表中删除选择子查询到主查询

SQL错误使用多个子查询的字段列表中的未知列

带有子查询语法的 LEFT OUTER JOIN

在主查询的“IN”子句中使用逗号分隔列表的子查询结果

SQL查询以选择在同一列中具有不同值的子记录的父级