Potrzebuję rozwiązania dla zapytania kwerendy w Sql Server 2005.Czy istnieje sposób, aby podzielić wyniki kwerendy wyboru na dwie równe połowy?
Chciałbym mieć kwerendę zwracającą dwa ResultSet, z których każdy posiada dokładnie połowę wszystkich rekordów pasujących do określonych kryteriów. Próbowałem użyć TOP 50 PERCENT w połączeniu z Kolejnością, ale jeśli liczba rekordów w tabeli jest nieparzysta, jeden rekord pojawi się w obu zestawach wyników. Nie chcę, aby jakiekolwiek rekordy były duplikowane w zestawach rekordów. Przykład:
Mam prosty tabela z TheID (PK) i TheValue pola (varchar (10)) i 5 rekordów. Pomiń teraz klauzulę where.
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID asc
powoduje wybranego identyfikatora 1,2,3
SELECT TOP 50 PERCENT * FROM TheTable ORDER BY TheID desc
wyników w wybranych identyfikatora 3,4,5
3 jest DUP. W rzeczywistości oczywiście zapytania są dość skomplikowane z mnóstwem zdań i podkwerend.
zakładam to SQL Server? –
Kto zużywa te dwa zapytania? Jeśli obaj konsumenci są świadomi siebie nawzajem (przypuszczalnie na podstawie ich wyników), dlaczego nie pobrać całej listy i podzielić ją po stronie konsumenta, aby nie było duplikatów? –
tak. przepraszam, zapomniałem o tym wspomnieć. – Mats