Melaksanakan Pertanyaan UNION Tanpa Jadual dalam Microsoft Access (Jet/ACE)
Microsoft Access, menggunakan enjin pangkalan data Jet/ACE, memberikan halangan unik apabila mencuba pertanyaan UNION tanpa meja. Walaupun kenyataan SELECT
mudah tanpa sumber data boleh diterima, pertanyaan UNION memerlukan klausa FROM
, tidak kira sama ada ia merujuk mana-mana medan tertentu.
Sebab Dasar:
Enjin Jet/ACE berbeza daripada sistem pangkalan data lain; ia memberi mandat sekurang-kurangnya satu jadual atau pertanyaan sebagai input untuk operasi UNION. Kekangan ini dilaksanakan untuk mengekalkan kestabilan pangkalan data dan integriti data dengan mewujudkan pautan kepada struktur data asas.
Mengelakkan Had:
Beberapa pendekatan boleh digunakan untuk memintas had ini:
Membuat Jadual Dummy:
FROM
klausa pertanyaan UNION anda.Menggunakan Penyata SELECT Terhad:
SELECT
pernyataan yang menggabungkan TOP 1
atau klausa WHERE
khusus untuk mengehadkan hasil yang ditetapkan kepada satu baris.SELECT
yang diubah suai ini.Contoh Ilustrasi:
Yang berikut menunjukkan contoh berfungsi yang memanfaatkan kaedah jadual dummy:
<code class="language-sql">SELECT "Mike" AS FName FROM Dual UNION ALL SELECT "John" AS FName FROM Dual;</code>
Di sini, "Dual" mewakili jadual satu baris.
Adalah penting untuk ambil perhatian bahawa kekangan semakan, yang direka untuk menguatkuasakan had satu baris, telah diperkenalkan dengan Jet 4 dan hanya serasi dengan pelaksanaan ADO. DAO tidak mempunyai keupayaan untuk membuat kekangan semakan dan memerlukan sekatan yang jelas dalam pertanyaan itu sendiri.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Pertanyaan UNION Tanpa Meja dalam Microsoft Access (Jet/ACE)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!