SQL Server-Alias-Einschränkung in der HAVING-Klausel
In SQL Server kann die Verwendung eines Alias für eine Aggregatfunktion in der HAVING-Klausel dazu führen, dass Fehler „Ungültiger Spaltenname“. Dieser scheinbare Widerspruch ergibt sich aus dem Ausführungsablauf einer SQL-Abfrage.
Die HAVING-Klausel wird nach Gruppenoperationen, aber vor dem Auswahlprozess ausgewertet. Wenn die HAVING-Klausel zum ersten Mal ausgeführt wird, wird der der Aggregatfunktion zugewiesene Alias, z. B. „col7“ im bereitgestellten Codeausschnitt, vom Server noch nicht erkannt.
Die Reihenfolge der Abfrageausführung ist wie folgt folgt:
Daher erkennt der Server zum Zeitpunkt der Auswertung der HAVING-Klausel „col7“ nicht als gültigen Spaltennamen. Diese Einschränkung verhindert die Verwendung von Aliasen in der HAVING-Klausel, um auf Aggregatfunktionen zu verweisen.
Es ist jedoch möglich, Aliase in der ORDER BY-Klausel zu verwenden, da diese Auswertung nach der HAVING-Klausel erfolgt.
Das obige ist der detaillierte Inhalt vonWarum erzeugt SQL Server bei der Verwendung von Aggregatfunktionsaliasen in der HAVING-Klausel den Fehler „Ungültiger Spaltenname'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!