挑戰: MS Access 2010 缺少 SQL Server 2005 及更高版本中的 UNPIVOT 功能。本指南示範如何使用 Access 內建的 SQL 功能獲得相同的結果。
場景:
想像一下這個表結構:
ID | A | B | C | Key 1 | Key 2 | Key 3 |
---|---|---|---|---|---|---|
1 | x | y | z | 3 | 199 | 452 |
2 | x | y | z | 57 | 234 | 452 |
目標是將其轉換為未旋轉的格式:
ID | A | B | C | Key |
---|---|---|---|---|
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 |
解:
可以使用 Access SQL 查詢中的一系列 UNION ALL
語句來複製 UNPIVOT 效果:
<code class="language-sql">SELECT ID, A, B, C, [Key 1] AS Key FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 2] AS Key FROM tblUnpivotSource UNION ALL SELECT ID, A, B, C, [Key 3] AS Key FROM tblUnpivotSource;</code>
結果:
對範例表執行此查詢會產生所需的逆透視記錄集:
ID | A | B | C | Key |
---|---|---|---|---|
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 |
以上是如何在 MS Access 複製 UNPIVOT 功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!