Restriction d'alias SQL Server dans la clause HAVING
Dans SQL Server, l'utilisation d'un alias pour une fonction d'agrégation dans la clause HAVING peut entraîner le Erreur « Nom de colonne non valide ». Cette apparente contradiction provient du flux d'exécution d'une requête SQL.
La clause HAVING évalue après les opérations de groupe mais avant le processus de sélection. Ainsi, lors de la première exécution de la clause HAVING, l'alias attribué à la fonction d'agrégation, tel que « col7 » dans l'extrait de code fourni, n'est pas encore reconnu par le serveur.
L'ordre d'exécution de la requête est le suivant suit :
Par conséquent, au moment de l'évaluation de la clause HAVING, le serveur ne reconnaît pas 'col7' comme nom de colonne valide. Cette restriction empêche l'utilisation d'alias dans la clause HAVING pour référencer des fonctions d'agrégation.
Cependant, il est possible d'utiliser des alias dans la clause ORDER BY, car cette évaluation a lieu après la clause HAVING.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!