首頁 > 資料庫 > mysql教程 > 如何在 Microsoft Access 2010 中模擬 UNPIVOT?

如何在 Microsoft Access 2010 中模擬 UNPIVOT?

Linda Hamilton
發布: 2025-01-11 16:16:42
原創
975 人瀏覽過

How to Simulate UNPIVOT in Microsoft Access 2010?

在Access 2010模擬UNPIVOT

MS SQL Server 2005支援UNPIVOT函數,但Access 2010不支援。如何用Access自身功能達到類似效果?例如,假設我們有一張表:

<code><h2>ID | A | B | C | Key 1 | Key 2 | Key 3</h2><p>1 | x | y | z |     3 |   199 |   452<br></br>2 | x | y | z |    57 |   234 |   452<br></br></p></code>
登入後複製

我們希望將其轉換為:

<code><h2>ID | A | B | C | Key</h2><p>1 | x | y | z |   3<br></br>2 | x | y | z |  57<br></br>1 | x | y | z | 199<br></br>2 | x | y | z | 234<br></br>2 | x | y | z | 452<br></br></p></code>
登入後複製

其中Key 452是重複值。目前我在OLEDB/ATL C 中進行轉換。雖然速度夠快,但我仍然很好奇在Access 2010中如何更有效率地實現。最有效的SQL語句是什麼?

解:

可以使用下列SQL查詢:

<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>
登入後複製

...執行該查詢後(假設您的範例表名為tblUnpivotSource),將得到以下結果集:

<code><br></br>ID | A | B | C | key_field<hr></hr><p>1 | x | y | z |         3<br></br>2 | x | y | z |        57<br></br>1 | x | y | z |       199<br></br>2 | x | y | z |       234<br></br>1 | x | y | z |       452<br></br>2 | x | y | z |       452<br></br></p></code>
登入後複製

以上是如何在 Microsoft Access 2010 中模擬 UNPIVOT?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板