我正在为一个正在为客户工作的项目遇到一个奇怪的问题。我有一个Access 2007数据库从SQLServer存储过程中获取数据。几个SP正常工作。一个SP工作,然后我们添加了一个字段。该字段已存在于源表中。
最初,该表会给我一个school_code(密钥)和一个grade_name。我们添加了一个序列号,因此grade_names列表将按特定顺序显示。在我们添加序列号之前,我会得到我预期的列表...对于给定的学校,我得到一个列表,如'PK','K','1','2'等。
在添加序列号后,我在列表中获得了相同数量的项目,但列表中的每个项目对于给定的学校都是相同的,即它们都是“PK”并且它们的序列号都是' 1' 。
当我使用SQL工具查看存储过程时,列表看起来正确。当我通过Access查看时,列表只显示给定学校的重复项。从学校到学校,grade_name将显示该学校的第一个grade_name。序列列中的每个值都是'1'。
关于如何攻击这个的任何想法? 谢谢!
答案 0 :(得分:0)
好的,看起来该问题与DISTINCT关键字相关联。当我把它包括在内时,我得到了我期望的答案。当我将该条款添加到“ORDER BY sequence”时,我被禁止使用DISTINCT;两者不能一起使用。
为了解决这个问题,我删除了ORDER BY,将结果放入一个二维数组中,然后对数组进行排序并使用它。有点像kludge,因为我不明白为什么丢弃DISTNCT引起了问题......