Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan Ralat Nama Lajur Samar-samar dalam Pertanyaan SQL?

Bagaimana untuk Menyelesaikan Ralat Nama Lajur Samar-samar dalam Pertanyaan SQL?

Susan Sarandon
Lepaskan: 2025-01-05 12:22:40
asal
490 orang telah melayarinya

How to Resolve Ambiguous Column Name Errors in SQL Queries?

Ralat Nama Lajur Kabur dengan Pertanyaan SQL

Dalam pertanyaan SQL, menghadapi ralat nama lajur samar-samar biasanya berlaku apabila memilih data daripada berbilang jadual menggunakan JOIN dan mempunyai sekurang-kurangnya satu lajur dengan nama yang sama dalam jadual yang berbeza. Ralat ini timbul apabila Pelayan SQL tidak dapat menentukan dari jadual mana untuk mendapatkan semula data untuk lajur samar-samar.

Untuk menyelesaikan kekaburan ini, nyatakan nama jadual secara eksplisit sebelum nama lajur dalam pertanyaan. Contohnya, dalam pertanyaan anda, anda mempunyai dua jadual, Invois dan InvoiceLineItems, kedua-duanya mempunyai lajur bernama InvoiceID. Untuk menyahkekaburan, gunakan Invois.InvoiceID untuk merujuk secara khusus kepada lajur Invois dalam jadual Invois.

Berikut ialah versi diubah suai pertanyaan anda yang termasuk nama jadual untuk lajur samar-samar:

SELECT 
    VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount
FROM Vendors 
JOIN Invoices ON (Vendors.VendorID = Invoices.VendorID)
JOIN InvoiceLineItems ON (Invoices.InvoiceID = InvoiceLineItems.InvoiceID)
WHERE  
    Invoices.InvoiceID IN
        (SELECT InvoiceSequence 
         FROM InvoiceLineItems
         WHERE InvoiceSequence > 1)
ORDER BY 
    VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount
Salin selepas log masuk

Dengan menyatakan nama jadual, anda membantu SQL Server mengenal pasti lajur yang betul untuk mendapatkan data daripada, menghapuskan kekaburan dan membenarkan pertanyaan untuk dilaksanakan dengan jayanya.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Nama Lajur Samar-samar dalam Pertanyaan SQL?. 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