0

このクエリ:

SELECT ROWNUMBER,FATHERITEMNO,FATHERVARIANT
FROM STOCKBILLMAT WHERE FATHERVARIANT ='LOCK' 
AND FATHERITEMNO ='U5138'

2つの結果が得られます:

12779526   "U5138"   "LOCK"
12779527   "U5138"   "LOCK"

しかし、同じテーブルに対する次のクエリ:

SELECT ROWNUMBER,FATHERITEMNO,FATHERVARIANT
FROM STOCKBILLMAT WHERE FATHERVARIANT ='LOCK' 
AND ROWNUMBER > 12818500 
AND ROWNUMBER < 12818590 

私にこれらの5を与えます:

12818532   "U5318"   "LOCK"
12818533   "U5318"   "LOCK"
12818558   "U5318"   "LOCK"
12818559   "U5318"   "LOCK"
12818560   "U5318"   "LOCK"

私の問題は、私が真剣に金髪の瞬間を持っていない限り、2番目のクエリによって返されるすべての行が最初のクエリによっても返されるはずであるということです!

ノート:

  1. 結果を大まかに知っていたので、結果を絞り込むためにROWNUMBER範囲を追加しただけです。そのフィルターを省略して下にスクロールすると、5つの結果が表示されますが、最初のクエリの2つは表示されません...
  2. STOCKBILLMATはテーブルであり、ビューではありません。
  3. クエリは、同じデータベース、QueryExpressの同じセッション、同じすべてで実行されます。
  4. サーバー上にはほぼ同じデータを持つ複数のデータベースがあり、他のデータベースでも同じことが起こります。

なぜこれが起こるのか、何か考えはありますか?

4

2 に答える 2

2

最初のクエリをU5138TOから変更しU5318ます。

SELECT ROWNUMBER,FATHERITEMNO,FATHERVARIANT
FROM STOCKBILLMAT WHERE FATHERVARIANT ='LOCK' 
AND FATHERITEMNO ='U5318'
于 2013-03-04T17:20:22.800 に答える
0

クエリは行番号によってずれています。最初のクエリはROWNUMBER12* 7*79526および12*7 * 79527を返しますが、2番目のクエリは12 * 8 *で始まる別の範囲です。

于 2013-03-04T17:22:50.440 に答える