.PolTypeLOB' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。已尝试调试



我已经试着调试了几个小时。任何帮助或提示将不胜感激

SELECT PA.PolExec, SUM(ISNULL(PR.Revenue,0) + ISNULL(PF.Revenue,0)) AS Revenue, 
CASE P.PolTypeLOB
WHEN 'Me%' THEN 'MED'
WHEN 'Pres' THEN 'MED'
ELSE CASE P.TypeOfBus
WHEN 1 THEN 'PL'
WHEN 2 THEN 'CL'
ELSE 'BEN'
END
END AS PolType
GROUP BY PA.PolExec
ORDER BY PA.PolExec

如果PolTypeLOB对于所有PolExec总是相同,则使用MAX

SELECT PA.PolExec, SUM(ISNULL(PR.Revenue,0) + ISNULL(PF.Revenue,0)) AS Revenue, 
MAX(CASE P.PolTypeLOB
WHEN 'Me%' THEN 'MED'
WHEN 'Pres' THEN 'MED'
ELSE CASE P.TypeOfBus
WHEN 1 THEN 'PL'
WHEN 2 THEN 'CL'
ELSE 'BEN'
END
END) AS PolType
GROUP BY PA.PolExec
ORDER BY PA.PolExec

如错误消息所说,SELECT中的所有列必须在GROUP BY中或具有聚合函数

最新更新