错误 - 无法绑定多部分标识符“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
为什么会出现此错误?我不能用真名和昵称来呼叫一个人吗?
答案 0 :(得分:5)
你是别名[Grant]
。换句话说,您说明从现在开始,[Grant]
将被称为gr
。
使用ALIAS
子句中的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.
这是SQL操作顺序
答案 1 :(得分:0)
不,你不能,因为sql server不是人。想象一下,我们有一个引用自己的Employee表
select *
from Employee Emp, Employee Mng
where Emp.ManagerID = Mng.EmployeeID
Mng和Emp是Employee的两个实例
所以,如果我选择
select * from Employee e, Employee
它将返回所有员工两次,因为我告诉员工一次以Employee
的名义给我一个名字e
(别名)