Kami menghadapi kesalahan ini saat kami memilih data dari lebih dari satu tabel dengan menggabungkan tabel dan setidaknya salah satu kolom yang dipilih (itu juga akan terjadi ketika menggunakan * untuk memilih semua kolom) ada dengan nama yang sama di lebih dari satu tabel (tabel pilihan/gabungan kami). Dalam hal ini kita harus menentukan dari tabel mana kita memilih kolom.
Berikut adalah contoh implementasi solusi dari konsep yang dijelaskan di atas
Saya pikir Anda memiliki ambiguitas hanya di InvoiceID
yang ada di InvoiceLineItems
dan Invoices
Bidang lain tampak berbeda. Jadi coba Ini
Saya baru saja mengganti InvoiceID dengan Invoices.InvoiceID
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
Anda dapat menggunakan tablename.columnnae untuk semua kolom (dalam pemilihan, di mana, kelompokkan dan urutkan berdasarkan) tanpa menggunakan alias apa pun. Namun Anda dapat menggunakan alias seperti yang dipandu oleh jawaban lain