在 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中文網其他相關文章!