我需要将来自SQL的聚合数据reed到.Net中,为此,我使用DataAdapter
到Fill
和DataTable
。查询看起来像这样:
SELECT ACTNUMBR AS [SegmentNumber], MAX(DSCRIPTN) AS [Description], COUNT(*) AS [UsageCount]
SegementNumber和UsageCount值按预期加载到DataTable中,但是我无法获取Description列来加载值,它保持空白(在SQL中运行查询会返回值)。如果我对某个值进行硬编码,那么它会将值加载到DataTable
中,但只要我使用MAX()
表达式,它就不会加载。
我已尝试为DataTable
指定列详细信息,但它没有效果。
这是否已知行为?我该如何解决/解决它?
答案 0 :(得分:0)
我认为问题出在你的SQL中。如果不执行组BY,则不能包含聚合函数(MAX)。
SELECT ACTNUMBR AS [SegmentNumber],
MAX(DSCRIPTN) AS [Description],
COUNT(*) AS [UsageCount]
FROM SOMETABLE
GROUP BY ACTNUMBR