2013-02-06 55 views
-1

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

最初,表格会给我一个school_code(key)和一个grade_name。我们添加了一个序列号,以便以特定顺序显示grade_names的列表。在我们添加序列号之前,我会得到我期望的列表...对于给定学校,我得到一个像'PK','K','1','2'等列表。

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

当我使用SQL工具查看存储过程时,该列表看起来正确。当我通过Access查看它时,该列表只显示给定学校的重复内容。从学校到学校,grade_name将显示该学校的第一个成绩名称。顺序列下的每个值都是'1'。

任何想法如何攻击? 谢谢!

回答

0

好的,它看起来像问题与DISTINCT关键字相关联。当我包括它时,我得到了我期望的答案。当我将该子句添加到“按顺序排序”时,我被禁止使用DISTINCT;两者不能一起使用。

为了解决这个问题,我删除了ORDER BY,将结果放入一个2维数组中,然后对数组进行排序并使用它。一种混合物,因为我不明白为什么放下DISTNCT会导致问题...

相关问题