嘗試從多個資料庫存取具有重複名稱的列時,會出現SQL 查詢中的錯誤訊息「列名不明確」加入表。要解決這種歧義,指定從中選擇列的表至關重要。
在提供的查詢中,InvoiceID 欄位發生錯誤,該欄位同時存在於 Invoices 和 InvoiceLineItems 表中。要解決此問題,請按如下方式修改查詢:
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
透過在「InvoiceID」之前指定「Invoices」表前綴,查詢明確指示應從 Invoices 表中檢索該列。這解決了歧義,並允許 SQL Server Management Studio (SSMS) 正確檢索和顯示 VendorID 欄位。
請記住為所有不明確的列指定表前綴,以避免在從多個表查詢資料時出現此錯誤。
以上是如何解決 SQL 查詢中的「列名不明確」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!