複数のクエリから重複した名前を持つ列にアクセスしようとすると、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 テーブルから取得される必要があることを明示的に示します。これによりあいまいさが解決され、SQL Server Management Studio (SSMS) が VendorID 列を正しく取得して表示できるようになります。
複数のテーブルからデータをクエリするときにこのエラーを回避するには、すべてのあいまいな列にテーブル プレフィックスを指定することを忘れないでください。
以上がSQL クエリの「あいまいな列名」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。