Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan Pertanyaan UNION Tanpa Jadual dalam MS Access?

Bagaimana untuk Melakukan Pertanyaan UNION Tanpa Jadual dalam MS Access?

Susan Sarandon
Lepaskan: 2025-01-12 09:25:43
asal
865 orang telah melayarinya

How to Perform a Table-less UNION Query in MS Access?

Pertanyaan UNION tanpa meja dalam MS Access (Jet/ACE)

Dalam Microsoft Access menggunakan enjin pangkalan data Jet/ACE, anda mungkin menghadapi ralat semasa cuba menggunakan pertanyaan UNION tanpa menyatakan sumber data jadual. Mesej ralat "Input pertanyaan mesti mengandungi sekurang-kurangnya satu jadual atau pertanyaan" akan muncul.

Penghadan ini berpunca daripada keperluan enjin untuk sekurang-kurangnya satu jadual atau pertanyaan dalam klausa FROM, walaupun tiada medan daripada sumber data itu digunakan. Untuk mengatasi masalah ini, anda boleh menggunakan jadual maya yang sentiasa mengandungi satu baris.

Buat jadual maya

<code>Public Sub CreateDualTable()
    Dim strSql As String
    strSql = "CREATE TABLE Dual (id COUNTER CONSTRAINT pkey PRIMARY KEY);"
    Debug.Print strSql
    CurrentProject.Connection.Execute strSql
    strSql = "INSERT INTO Dual (id) VALUES (1);"
    Debug.Print strSql
    CurrentProject.Connection.Execute strSql

    strSql = "ALTER TABLE Dual" & vbNewLine & _
        vbTab & "ADD CONSTRAINT there_can_be_only_one" & vbNewLine & _
        vbTab & "CHECK (" & vbNewLine & _
        vbTab & vbTab & "(SELECT Count(*) FROM Dual) = 1" & vbNewLine & _
        vbTab & vbTab & ");"
    Debug.Print strSql
    CurrentProject.Connection.Execute strSql
End Sub</code>
Salin selepas log masuk

Gunakan jadual maya

Menggunakan jadual maya kini anda boleh membuat pertanyaan UNION tanpa meja:

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

Kaedah alternatif

Sebagai alternatif, anda boleh menggunakan pernyataan SELECT dengan klausa TOP 1 atau WHERE untuk mengehadkan keputusan yang ditetapkan kepada satu baris.

Sila ambil perhatian bahawa kekangan semak hanya tersedia dalam penyata yang dilaksanakan melalui ADO (CurrentProject.Connection.Execute). DAO (CurrentDb.Execute) tidak menyokong membuat kekangan semakan.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Pertanyaan UNION Tanpa Jadual dalam MS Access?. 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