Sql Server 2005 での選択クエリのソリューションが必要です。
特定の基準に一致するすべてのレコードのちょうど半分をそれぞれ保持する 2 つの ResultSet を返すクエリが必要です。TOP 50 PERCENT を Order By と組み合わせて使用しようとしましたが、テーブル内のレコード数が奇数の場合、両方の結果セットに 1 つのレコードが表示されます。レコードセット間でレコードを複製したくありません。例:
TheID (PK) フィールドと TheValue フィールド (varchar(10)) および 5 つのレコードを含む単純なテーブルがあります。ここでは、where 句をスキップします。
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID asc
選択した ID の 1,2,3 になります
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID desc
選択した ID の 3,4,5 になります
3は重複です。もちろん、実際のクエリはかなり複雑で、多数の where 句とサブクエリがあります。