ホームページ > データベース > mysql チュートリアル > SQL クエリにおけるあいまいな列名のエラーを解決するにはどうすればよいですか?

SQL クエリにおけるあいまいな列名のエラーを解決するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-05 12:22:40
オリジナル
490 人が閲覧しました

How to Resolve Ambiguous Column Name Errors in SQL Queries?

SQL クエリでのあいまいな列名エラー

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート