-1

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

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

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

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

关于如何攻击这个的任何想法???谢谢!

4

1 回答 1

0

好的,看起来问题与 DISTINCT 关键字有关。当我包含它时,我得到了我期望的答案。当我将子句添加到“ORDER BY 序列”时,我被禁止使用 DISTINCT;两者不能一起使用。

为了解决这个问题,我删除了 ORDER BY,将结果放入一个二维数组,然后对数组进行排序并使用它。有点杂乱无章,因为我不明白为什么放弃 DISTNCT 会导致问题......

于 2013-02-06T15:57:16.697 回答