我收到此错误
每个 group by 表达式必须至少包含一列不是外部引用
我正在将日期插入临时表,错误出现在以下按查询分组(仅在某些排序规则上)
insert into @Temp(Name, ID)
select
USR.Name,
ISNULL((SELECT SUM(BCR.QUANTITY)
FROM Rate BCR
WHERE BCR.RateID = USR.RateID
GROUP BY USR.RateID), 0) AS TotalQuantity
from
dbo.User as USR
where
USR.Status = 1
您有一个相关子查询,其中 USR.RateID 来自外部查询。由于您在 where 子句中使用 USR.RateID,因此您可以删除 GROUP BY 子句,因为每次调用子查询时 USR.RateID 只会有一个值。
insert into @Temp(Name, ID)
select
USR.Name,
ISNULL((SELECT SUM(BCR.QUANTITY)
FROM Rate BCR
WHERE BCR.RateID = USR.RateID), 0) AS TotalQuantity
from
dbo.User as USR
where
USR.Status = 1