【发布时间】:2018-04-03 01:02:46
【问题描述】:
我创建了一个存储过程。 @Sea 是用户的输出参数。在内联查询中它正在执行,但在存储过程中没有得到以下错误。
Create Procedure [dbo].[procedure name]
(
@APTSeason NVARCHAR(1000),
@rptsummary NVARCHAR(1000),
@Sea NVARCHAR(1000)
)
AS
BEGIN
SELECT (@Sea),
Sum(ProjectedRevenue) as 'Total_$',
Sum(TotalSalesUnits) as 'Total_U',
From table name
group by @Sea
END
Go
错误:
每个 GROUP BY 表达式必须包含至少一列不是外部引用
【问题讨论】:
-
@Sea 的意义何在?似乎没有 group by 的查询是完全相同的(它只会返回一行,具有相同的数据,无论哪种方式),所以你可以摆脱 group by?
-
我已经在选择列表中使用了@Sea,所以我需要使用 group by
-
如果删除第一个 (@Sea) 周围的括号会怎样?
-
我试过删除也没有改变同样的错误
-
不用group by,去掉
group by @Sea,保持SELECT (@Sea),不变,重试。
标签: sql sql-server stored-procedures