Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mensimulasikan UNPIVOT dalam Microsoft Access 2010?

Bagaimana untuk Mensimulasikan UNPIVOT dalam Microsoft Access 2010?

Linda Hamilton
Linda Hamiltonasal
2025-01-11 16:16:421027semak imbas

How to Simulate UNPIVOT in Microsoft Access 2010?

Meniru UNPIVOT dalam Access 2010

MS SQL Server 2005 menyokong fungsi UNPIVOT, tetapi Access 2010 tidak. Bagaimana untuk menggunakan fungsi Access sendiri untuk mencapai kesan yang sama? Sebagai contoh, katakan kita mempunyai jadual:

<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>

Kami mahu menukar ini kepada:

<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>

Di mana Kunci 452 ialah nilai berulang. Pada masa ini saya sedang menukar dalam OLEDB/ATL C. Walaupun ia cukup pantas, saya masih ingin tahu bagaimana untuk melakukannya dengan lebih cekap dalam Access 2010. Apakah pernyataan SQL yang paling berkesan?

Penyelesaian:

Anda boleh menggunakan pertanyaan SQL berikut:

<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>

...Selepas melaksanakan pertanyaan ini (dengan mengandaikan jadual contoh anda dinamakan tblUnpivotSource), anda akan mendapat set hasil berikut:

<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>

Atas ialah kandungan terperinci Bagaimana untuk Mensimulasikan UNPIVOT dalam Microsoft Access 2010?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn