-1

クライアントのために取り組んでいるプロジェクトで奇妙な問題が発生しています。SQLServer ストアド プロシージャからデータを取得する Access 2007 データベースがあります。いくつかの SP が正常に動作しています。1 つの SP が機能していたので、それにフィールドを追加しました。そのフィールドは、ソース テーブル内に既に存在していました。

もともと、このテーブルは school_code(key) と grade_name を提供していました。grade_names のリストが特定の順序で表示されるように、シーケンス番号を追加しました。シーケンス番号を追加する前に、期待どおりのリストを取得していました...特定の学校について、「PK」、「K」、「1」、「2」などのリストを取得します。

シーケンス番号を追加した後、リスト内のアイテムの数は同じですが、リスト内のすべてのアイテムは特定の学校で同じです。つまり、それらはすべて「PK」であり、シーケンス番号はすべて「1」です。

SQL ツールを使用してストアド プロシージャを表示すると、リストが正しく表示されます。アクセスで表示すると、リストには特定の学校の重複が表示されます。学校から学校に移動すると、grade_name にはその学校の最初の grade_name が表示されます。シーケンス列の下のすべての値は「1」です。

これを攻撃する方法について何か考えはありますか??? ありがとう!

4

1 に答える 1

0

問題は DISTINCT キーワードに関連していたようです。私がそれを含めたとき、私は期待した答えを得ました。「ORDER BY シーケンス」に句を追加したところ、DISTINCT の使用が禁止されました。2 つを一緒に使用することはできません。

これを解決するために、ORDER BY を削除し、結果を 2 次元配列に配置してから、配列を並べ替えて使用しました。DISTNCT をドロップすると問題が発生する理由がわかりません...

于 2013-02-06T15:57:16.697 に答える