【发布时间】:2019-09-16 22:17:44
【问题描述】:
我尝试解决此问题时遇到错误。首先我需要计算 2 个表的所有值,然后我需要在 where 条件下获取所有最大值。
我的代码:
Select *
FROM (
select Operator.OperatoriausPavadinimas,
(
select count(*)
from Plan
where Plan.operatoriausID= Operator.operatoriausID
) as NumberOFPlans
from Operator
)a
where a.NumberOFPlans= Max(a.NumberOFPlans)
我收到这个错误
消息 147,级别 15,状态 1,第 19 行 聚合可能不会出现在 WHERE 子句中,除非它位于 HAVING 子句或选择列表中包含的子查询中,并且被聚合的列是外部引用。
我不知道如何解决这个问题。
我需要得到这个http://prntscr.com/p700w9
更新 1
计划表包含http://prntscr.com/p7055l 值和 运算符表包含 http://prntscr.com/p705k0 值。
【问题讨论】:
-
事实上,你的问题有点不清楚。您能否编辑您的问题以将示例数据和预期输出显示为表格文本?
-
我认为您将不得不进行联接才能获得所需的结果。
标签: sql-server join count sql-order-by ssms