ホームページ >データベース >mysql チュートリアル >HAVING 句で集計関数のエイリアスを使用すると、SQL Server で「無効な列名」エラーが発生するのはなぜですか?
HAVING 句での SQL Server エイリアスの制限
SQL Server では、HAVING 句で集計関数のエイリアスを使用すると、 「列名が無効です」エラー。この明らかな矛盾は、SQL クエリの実行フローに起因します。
HAVING 句は、グループ操作の後、選択プロセスの前に評価されます。そのため、HAVING 句が最初に実行されるとき、提供されたコード スニペットの「col7」などの集計関数に割り当てられたエイリアスは、サーバーによってまだ認識されていません。
クエリの実行順序は次のとおりです。
したがって、HAVING 句の評価の時点では、サーバーは認識しません。有効な列名として「col7」。この制限により、HAVING 句でエイリアスを使用して集計関数を参照することができなくなります。
ただし、この評価は HAVING 句の後に行われるため、ORDER BY 句でエイリアスを使用することは可能です。
以上がHAVING 句で集計関数のエイリアスを使用すると、SQL Server で「無効な列名」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。