在 Microsoft Access 2010 中实现 UNPIVOT 功能
Microsoft SQL Server 的 UNPIVOT 函数可以有效地将数据从宽格式重塑为长格式。 虽然 Access 2010 不提供直接的 UNPIVOT 等效项,但我们可以使用 SQL 有效地复制其行为。
想象一个表,其中多个属性列(如 A、B、C)链接到不同的键(键 1、键 2、键 3)。目标是重构此数据,以便每个属性键对占据自己的行。
UNION ALL
查询提供了一个解决方案:
<code class="language-sql">SELECT ID, A, B, C, [Key 1] AS key_field FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 2] AS key_field FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 3] AS key_field FROM tblUnpivotSource;</code>
此查询将每个键列的数据合并到一个统一的表中。每个结果行都表示一个属性键配对:
ID | A | B | C | key_field |
---|---|---|---|---|
1 | x | y | z | 3 |
2 | x | y | z | 57 |
1 | x | y | z | 199 |
2 | x | y | z | 234 |
1 | x | y | z | 452 |
2 | x | y | z | 452 |
需要注意的是,具有重复键值的情况(例如示例中的“452”)将生成具有相同键的多行。
以上是如何在 Microsoft Access 2010 中实现 UNPIVOT 功能?的详细内容。更多信息请关注PHP中文网其他相关文章!