エラーの理解:「すべての派生テーブルには独自のエイリアスが必要です」
ネストされた派生テーブル (サブクエリ)を実行すると、「すべての派生テーブルには独自の別名が必要です」というエラーが発生する場合があります。このエラーは、サブクエリに一意のエイリアスが割り当てられていない場合に発生します。
原因と解決策:
派生テーブルは、サブクエリをかっこで囲むことによって作成されます。 MySQL では、派生テーブルごとに、テーブルとそのデータを参照するために使用される名前であるエイリアスを含める必要があります。エイリアスの目的は、外側のクエリ内の複数の派生テーブルを区別することです。
このエラーを解決するには、AS キーワードの後に一意の名前を付けて、各サブクエリにエイリアスを割り当てます。
SELECT ID FROM ( SELECT ID, msisdn FROM ( SELECT * FROM TT2 ) AS TT2Subquery ) AS TableAlias
この変更されたクエリでは、エイリアス TT2Subquery が最も内側のサブクエリに割り当てられ、TableAlias が外側のサブクエリに割り当てられます。これらのエイリアスにより、MySQL は 2 つのサブクエリを区別し、それらを適切に接続できます。
または、最も外側のサブクエリは 1 つの列のみを取得するため、完全に省略することもできます:
SELECT ID FROM TT2
この簡略化されたクエリにより、同じ結果を維持しながらサブクエリのエイリアスが不要になります。
以上がMySQL ではすべての派生テーブルにエイリアスが必要なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。