无法绑定多部分标识符的原因

dav*_*ine 3 sql t-sql

错误 - 无法绑定多部分标识符"Grant.EmpID".

查询 -

select emp.EmpID, 
COUNT(*) as CountRecords,
COUNT(GrantName) AS CountValues
From Employee as emp full join [Grant] as gr
on emp.EmpID = [Grant].EmpID 
-- This is the cause for the error ! Change it to gr.EmpID
group by emp.EmpID
Run Code Online (Sandbox Code Playgroud)

为什么会出现此错误?我不能用真名和昵称叫一个人吗?

Joh*_*Woo 5

你是别名[Grant].换句话说,你说从现在开始,[Grant]将被称为gr.

使用ALIASin GROUP BY子句,而不是tableName.

SELECT emp.EmpID, 
       COUNT(*) as CountRecords,
       COUNT(GrantName) AS CountValues
FROM   Employee as emp 
       FULL JOIN [Grant] as gr
          on emp.EmpID = gr.EmpID  -- use the alias.
GROUP BY gr.EmpID                  -- use the alias.
Run Code Online (Sandbox Code Playgroud)

这是SQL的操作顺序

  • FROM子句
  • WHERE子句
  • GROUP BY子句
  • HAVING子句
  • SELECT子句
  • ORDER BY子句