Sql 使用连接进行计数而不计算

Sql 使用连接进行计数而不计算,sql,Sql,我的逻辑有问题。请帮忙 我得到的错误是: Msg 8120,16级,状态1,第603行 列“Client.LastName”在选择列表中无效,因为它未包含在聚合函数或GROUP BY子句中。 Msg 147,15级,状态1,第605行 聚合不能出现在WHERE子句中,除非它位于HAVING子句或select列表中包含的子查询中,并且被聚合的列是外部引用 我不明白如何使用count函数进行内部子查询 编写一个名为NoJobs的存储过程,该过程返回所有没有作业的客户端的名字、姓氏和电话号码。不要使用

我的逻辑有问题。请帮忙

我得到的错误是: Msg 8120,16级,状态1,第603行 列“Client.LastName”在选择列表中无效,因为它未包含在聚合函数或GROUP BY子句中。 Msg 147,15级,状态1,第605行 聚合不能出现在WHERE子句中,除非它位于HAVING子句或select列表中包含的子查询中,并且被聚合的列是外部引用

我不明白如何使用count函数进行内部子查询

编写一个名为NoJobs的存储过程,该过程返回所有没有作业的客户端的名字、姓氏和电话号码。不要使用连接。2马克
您的查询中的逻辑是完全错误的。您正在使用having子句将ClientID与计数进行比较。。。你认为这会怎样

您要做的是跳过group by和having子句,并在以下情况下使用in运算符:

where ClientID not in (select ClientID from job)

非常感谢你,我在其他问题上做了逻辑分析。。。我不知道我怎么会错过它这么有意义:
where ClientID not in (select ClientID from job)