sql server-MS Access从sql server存储过程中获取不一致的结果



我为一个客户处理的项目遇到了一个奇怪的问题。我有一个Access 2007数据库,它从SQLServer存储过程中获取数据。几个SP工作正常。一个SP正在工作,然后我们添加了一个字段。该字段已存在于源表中。

最初,该表会给我一个school_code(key)和一个grade_name。我们添加了一个序列号,这样grade_name列表将按特定顺序显示。在我们添加序列号之前,我会得到我期望的列表。。。对于给定的学校,我会得到一个列表,比如"PK"、"K"、"1"、"2"等。

添加序列号后,我得到了列表中相同数量的项目,但列表中的每个项目对于给定的学校都是相同的,即它们都是"PK",并且都有序列号"1"。

当我使用SQL工具查看存储过程时,列表看起来是正确的。当我通过Access查看它时,列表只会显示某所学校的副本。从一所学校转到另一所学校,grade_name将显示该学校的第一个grade_name。序列列下的每个值都是"1"。

有什么想法可以攻击这个吗???谢谢

好吧,这个问题似乎与DISTINCT关键字有关。当我把它包括在内时,我得到了我期望的答案。当我在"ORDERBY序列"中添加子句时,我被禁止使用DISTINCT;两者不能一起使用。

为了解决这个问题,我删除了ORDERBY,将结果放入一个二维数组中,然后对数组进行排序并使用它。有点草率,因为我不明白为什么删除DISTNCT会引起问题。。。

最新更新