Menggunakan UNION untuk Menggabungkan dan Memesan Data daripada Berbilang Jadual MS Access
Dalam pangkalan data yang lebih besar, menggabungkan data daripada berbilang jadual adalah tugas biasa. Operator UNION
menyediakan cara untuk menggabungkan baris daripada jadual berbeza ke dalam set hasil tunggal. Walau bagaimanapun, untuk mencapai susunan yang betul bagi data gabungan ini memerlukan pendekatan khusus dalam MS Access.
Percubaan terus terang seperti ini akan gagal:
<code class="language-sql">SELECT table1.field1 FROM table1 ORDER BY table1.field1 UNION SELECT table2.field1 FROM table2 ORDER BY table2.field1</code>
Enjin pangkalan data MS Access Jet tidak membenarkan klausa ORDER BY
terus dalam pertanyaan UNION
.
Penyelesaian: Pertanyaan Bersarang dan Alias
Penyelesaian itu melibatkan menyarangkan setiap pernyataan SELECT
individu dalam subkuerinya sendiri dan kemudian menggunakan klausa ORDER BY
dalam setiap subkueri. Ini memerlukan pemberian alias kepada setiap subkueri:
<code class="language-sql">SELECT * FROM ( SELECT table1.field1 FROM table1 ORDER BY table1.field1 ) AS DUMMY_ALIAS1 UNION ALL SELECT * FROM ( SELECT table2.field1 FROM table2 ORDER BY table2.field1 ) AS DUMMY_ALIAS2</code>
Kaedah ini membolehkan susunan data gabungan yang betul daripada table1
dan table2
. Perhatikan penggunaan UNION ALL
yang merangkumi semua baris daripada kedua-dua pertanyaan, termasuk pendua, tidak seperti UNION
yang mengalih keluar pendua. Pilih operator UNION
yang sesuai berdasarkan keperluan anda. Teknik ini secara berkesan membolehkan pengisihan data digabungkan menggunakan operator UNION
dalam MS Access.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memesan Data daripada Berbilang Jadual Menggunakan UNION dalam MS Access?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!