【发布时间】:2015-09-30 17:19:51
【问题描述】:
我正在尝试创建一个分子(num)和分母(den)列,稍后我将使用它们来创建一个度量值。在我的分子列中,我需要有一个分母列没有的标准。当我将 where 子句添加到子查询时,出现以下错误。我不想将 INRInRange 添加到我的 Group By 子句中。
列 'dbo.PersonDetailB.INRInRange' 在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。”
SELECT
dbo.PersonDetailSpecialty.PracticeAbbrevName,
(SELECT COUNT(DISTINCT dbo.Problem.PID) WHERE PersonDetailB.INRInRange='True') AS num,
COUNT(DISTINCT dbo.Problem.PID) AS den
FROM
dbo.PersonDetailB
RIGHT OUTER JOIN
dbo.PersonDetailSpecialty ON dbo.PersonDetailB.PID = dbo.PersonDetailSpecialty.PID
LEFT OUTER JOIN
dbo.Problem ON dbo.PersonDetailSpecialty.PID = dbo.Problem.PID
GROUP BY
practiceabbrevname
【问题讨论】:
-
用
dbo.PersonDetailSpecialty.PracticeAbbrevName替换practiceabbrevname,
标签: sql sql-server join group-by subquery