Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Защо не мога да използвам псевдоним в колона count(*) и да го позовавам в клауза за име?

Вижте документа, посочен от CodeByMoonlight в отговор на скорошния ви въпрос.

Клаузата HAVING се оценява преди SELECT - така че сървърът все още не знае за този псевдоним.

  1. Първо продуктът на всички таблици в от се образува клауза.
  2. къде клаузата след това се оценява, за да се елиминират редове, които не отговарят на условието за търсене.
  3. След това редовете се групират с помощта на колоните в групиране по клауза.
  4. След това групи, които не отговарят на условието за търсене в havingclause са елиминирани.
  5. След това изразите в select Целевият списък с клауза се оценява.
  6. Ако е различи ключова дума, присъстваща в клаузата за избор, дублиращи се редове вече са елиминирани.
  7. Съюзът се взема след оценка на всеки под-селекция.
  8. Накрая получените редове се сортират според колоните, посочени в порядъка по клауза.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Можем ли да предадем параметри на изглед в SQL?

  2. Как да използвате оператора BETWEEN в SQL Server

  3. Въведение в функциите с таблично стойности с множество оператори (MSTVF) в SQL Server

  4. SQL Fuzzy Matching

  5. Има ли .NET еквивалент на newsequentialid() на SQL Server