SQL クエリでは、通常、JOIN を使用して複数のテーブルからデータを選択し、少なくとも 1 つのテーブルからデータを選択するときに、あいまいな列名エラーが発生します。異なるテーブルに同じ名前の列がある場合。このエラーは、SQL Server が曖昧な列のデータをどのテーブルから取得するかを判断できない場合に発生します。
この曖昧さを解決するには、クエリ内の列名の前にテーブル名を明示的に指定します。たとえば、クエリには Invoices と InvoiceLineItems という 2 つのテーブルがあり、どちらにも InvoiceID という名前の列があります。曖昧さを解消するには、Invoices.InvoiceID を使用して、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
テーブル名を指定すると、SQL Server がデータを取得する正しい列を識別し、曖昧さがなくなり、クエリを実行できるようになります。成功しました。
以上がSQL クエリにおけるあいまいな列名のエラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。