>데이터 베이스 >MySQL 튜토리얼 >SQL 쿼리에서 '모호한 열 이름' 오류를 해결하는 방법은 무엇입니까?

SQL 쿼리에서 '모호한 열 이름' 오류를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-03 05:36:44613검색

How to Resolve

SQL 쿼리의 모호한 열 이름: InvoiceID 문제 해결

여러 데이터베이스에서 이름이 중복된 열에 액세스하려고 하면 SQL 쿼리의 "모호한 열 이름" 오류 메시지가 발생합니다. 조인된 테이블. 이 모호성을 해결하려면 열이 선택되는 테이블을 지정하는 것이 중요합니다.

제공된 쿼리에서 Invoices 및 InvoiceLineItems 테이블 모두에 존재하는 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

"InvoiceID" 앞에 "Invoices" 테이블 접두사를 지정하면 쿼리는 해당 열을 Invoices 테이블에서 검색해야 함을 명시적으로 나타냅니다. 이렇게 하면 모호성이 해결되고 SSMS(SQL Server Management Studio)가 VendorID 열을 올바르게 검색하고 표시할 수 있습니다.

여러 테이블에서 데이터를 쿼리할 때 이 오류를 방지하려면 모든 모호한 열에 테이블 접두사를 지정해야 합니다.

위 내용은 SQL 쿼리에서 '모호한 열 이름' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.