我正在尝试运行一个查询,即要查找预订最多的工作人员的姓名。我可以设法得到没有名字的结果,但是当我尝试找到名字时,它给我错误:



我正在使用的代码是这样的:

select
clerkFName
from (
        SELECT c.clerkID,  COUNT( * ) AS totalBookings
        FROM bookings b
        GROUP BY c.clerkID
        )T
 INNER JOIN clerks as c ON b.clerkID = c.clerkID

提前致谢

最佳答案

您通过查询新的别名T给您的组。从那时起,当引用该子查询中的数据时,必须使用该别名(T)。同样在子查询中,您正在引用c.clerkID。这应该是b.clerkID,所以应该这样做:

select clerkFName,totalBookings from ( SELECT b.clerkID, COUNT( * ) AS totalBookings
FROM bookings b GROUP BY b.clerkID ) T
INNER JOIN clerks as c ON T.clerkID = c.clerkID;

关于sql-server - SQL无法绑定(bind)多部分标识符 “c.clerkID”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29069765/

10-11 23:28