c# - 存储过程的 SQL GroupBy 导致错误
问题描述
我有一个简单的问题,为什么我的 SQL 存储过程不能正常工作。有人可以解释我的存储过程查询有什么问题吗?错误:“每个 GROUP BY 表达式必须至少包含一个不是外部引用的列。”
SELECT
@TabGroupBy + @TabGroupByName + ','
,SUM(Value) AS Sum
,[Unit]
,[Child_Name]
FROM (
SELECT [model_id]
,[Child_ID]
,[Property_ID]
,[DDate]
,[Hour]
,[Value]
FROM [RP_IRP].[M_PLEXOS].[dat_Generators]
where parent_ID=1 and child_ID in(9, 357,358) and Property_ID in (4,31)
) a
inner join [RP_IRP].[M_PLEXOS].[Child_Object] b on a.child_id=b.child_id
inner join [M_PLEXOS].[Property] d on d.[Property_ID] = a.[Property_ID]
inner join [M_PLEXOS].[Units] e on d.[Unit_ID]=e.[Unit_ID]
inner join [M_PLEXOS].[Model_Config] f on a.[Model_id]=f.[Model_id]
WHERE Child_Name = @SelectedChildValue AND Property = @SelectedPropertyValue
AND Unit = @SelectedUnitValue
GROUP BY Child_Name , @TabGroupBy , Unit HAVING SUM(Value) > @MinValue
解决方案
您不能参数化 GROUP BY 列。@TabGroupBy
从 GROUP BY 中删除参数
推荐阅读
- dynamodb-queries - DynamoDB 查询输入:如何检索键值不为空的所有项目
- oracle - 在 Oracle View 中使用 Union All 性能会降低
- java - 在 Android 中检索文本视图时不显示 Firebase 实时数据库
- c# - 使用 for 循环从 excel 电子表格中读取数据。无法获得列中的第二个值
- firebase - 为什么 Jmeter 不能使用 firebase 作为数据连接来记录网站
- javascript - 为什么 if 语句不检查下面的 http 请求的状态?
- javascript - 如何修复网站视图不超过 1440 像素
- html - 如何通过设置字体大小在 ReactJS 中使用 css 比例“rem”
- javascript - 如何在 swiper.js 中制作圆形幻灯片
- c++ - Visual Studio 2019 中的一个简单井字游戏程序导致 Windows Defender 报告威胁