我正在尝试
Select Sum(Max(IsNull(c.CapacityCost, 0)))
但它不起作用。我怎么能这样做?
错误讯息:
无法对包含聚合或子查询的表达式执行聚合函数。
我的代码:
Select
Max(IsNull(c.CapacityCost, 0)) Company c
答案 0 :(得分:0)
要获得您想要实现的内容(您认为),您需要使用子查询。有点像:
declare @company table(
CapacityCost int,
CompanyID int,
CompanyName varchar(20),
Country char(2))
INSERT INTO @company VALUES (20, 1, 'dduck inc', 'us')
INSERT INTO @company VALUES (25, 2, 'dduck plc', 'uk')
INSERT INTO @company VALUES (10, 3, 'mmouse inc', 'us')
INSERT INTO @company VALUES (35, 4, 'mmouse plc', 'uk')
INSERT INTO @company VALUES (15, 5, 'rrabbit inc', 'us')
INSERT INTO @company VALUES (30, 6, 'rrabbit plc', 'uk')
SELECT SUM(MaxCC)
FROM
(SELECT MAX(CapacityCost) AS MaxCC, Country FROM @company GROUP BY Country) m
在此处询问SQL问题时,提供一些示例数据以及所需结果集的说明始终是有用的。这使人们更容易给你帮助。正如你在这里看到的,我在答案中包含了一些数据和表格结构。您不需要向我们提供真实数据或完全相同的表结构,只需足以说明您想要获得的内容。