Rumah > pangkalan data > tutorial mysql > Mengapa Pertanyaan UNION dalam Microsoft Access Memerlukan Jadual, Walaupun untuk Pilihan Satu Baris?

Mengapa Pertanyaan UNION dalam Microsoft Access Memerlukan Jadual, Walaupun untuk Pilihan Satu Baris?

Barbara Streisand
Lepaskan: 2025-01-12 09:09:42
asal
309 orang telah melayarinya

Why Do UNION Queries in Microsoft Access Require a Table, Even for Single-Row Selects?

Pertanyaan Microsoft Access UNION: Keperluan Jadual

Dalam pangkalan data Microsoft Access, manakala penyataan SELECT ringkas yang mengambil satu baris boleh meninggalkan klausa FROM, operasi UNION atau UNION ALL memerlukan klausa FROM, walaupun untuk pilihan baris tunggal.

Had Pertanyaan

Mencuba UNION atau UNION ALL tanpa sumber data dalam klausa FROM mengakibatkan ralat: "Input pertanyaan mesti mengandungi sekurang-kurangnya satu jadual atau pertanyaan." Contohnya:

<code class="language-sql">SELECT "Mike" AS FName
UNION ALL
SELECT "John" AS FName</code>
Salin selepas log masuk

Pertanyaan ini akan gagal.

Menyelesaikan Isu

Untuk menggunakan UNION atau UNION ALL dengan data berasaskan baris, klausa FROM adalah wajib, tidak kira sama ada medan jadual sumber dirujuk. Penyelesaian melibatkan mencipta jadual dummy, satu baris:

<code class="language-sql">CREATE TABLE Dual (id COUNTER PRIMARY KEY);
INSERT INTO Dual (id) VALUES (1);
ALTER TABLE Dual ADD CONSTRAINT there_can_be_only_one CHECK ((SELECT Count(*) FROM Dual) = 1);

SELECT "foo" AS my_text
FROM Dual
UNION ALL
SELECT "bar"
FROM Dual;</code>
Salin selepas log masuk

Pendekatan lain melibatkan penggunaan TOP 1 atau klausa WHERE untuk mengehadkan hasil kepada satu baris daripada jadual sedia ada.

Pertimbangan Penting: Kekangan CHECK, yang diperkenalkan dalam Jet 4, hanya serasi dengan ADO. Menggunakan DAO mungkin menghasilkan ralat sintaks semasa melaksanakan penyelesaian ini.

Atas ialah kandungan terperinci Mengapa Pertanyaan UNION dalam Microsoft Access Memerlukan Jadual, Walaupun untuk Pilihan Satu Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan