ホームページ >データベース >mysql チュートリアル >SQL エラー 1066: JOIN 内の非一意のテーブル エイリアスの解決方法

SQL エラー 1066: JOIN 内の非一意のテーブル エイリアスの解決方法

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-02 21:07:39638ブラウズ

How to Solve SQL Error 1066: Non-Unique Table Aliases in JOINs?

SQL エラー 1066: JOIN クエリにおける一意でないテーブル エイリアスのトラブルシューティング

SQL エラー 1066、「一意のテーブル/エイリアスではありません。 " これは、同じテーブルの複数の出現が、それらを区別するための一意の別名なしで使用されていることを示します

次のコード例を考えてみましょう:

SELECT article.* , section.title, category.title, user.name, user.name
FROM article
INNER JOIN section ON article.section_id = section.id
INNER JOIN category ON article.category_id = category.id
INNER JOIN user ON article.author_id = user.id
LEFT JOIN user ON article.modified_by = user.id
WHERE article.id = '1'

このコードでは、「user」テーブルが 2 回結合されており、エラーが発生していることがわかります。この問題を解決するには、テーブルの 2 番目の出現に一意のエイリアスを与える必要があります。

次のコードは、修正されたクエリを示しています。

SELECT article.* , section.title, category.title, user.name, u2.name 
FROM article 
INNER JOIN section ON article.section_id = section.id 
INNER JOIN category ON article.category_id = category.id 
INNER JOIN user ON article.author_id = user.id 
LEFT JOIN user u2 ON article.modified_by = u2.id 
WHERE article.id = '1'

一意のエイリアス "u2" を指定することにより、 " から "user" テーブルが 2 回目に出現すると、エラーは解決され、クエリを正常に実行できます。

以上がSQL エラー 1066: JOIN 内の非一意のテーブル エイリアスの解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。