消息147,級別15,狀態1,過程vw_OverBudget,10號線[批量起始行59]
聚合不應出現在WHERE子句中,除非它是在含有HAVING子句或選擇列表在子查詢中,並且被聚合的列是外部參考。如何解決where子句中的聚合?
代碼:
CREATE VIEW vw_OverBudget
AS
SELECT
p.projectName,
SUM(a.costtodate) AS sumActivityCosts,
p.fundedbudget
FROM
Project AS p
FULL OUTER JOIN
Activity a ON p.projectid = a.projectid
WHERE
a.activityId IS NULL
AND p.projectid IS NOT NULL
AND SUM(a.costtodate) > p.fundedbudget
GROUP BY
p.projectID
與內加入,我看你爲什麼要與該連接類型去尋找我收到數據後,列'Project.projectName'錯誤。這是說它是無效的,因爲它不包含在聚合函數或組中? – Danny
找到了解決方案,我只需要在組中添加p.projectName。 – Danny