Joanna J.

Joanna J. Ryzyko kredytowe,
Bank Pekao S.A.

Temat: Kwerenda wyszykująca duplikaty

Witam,

Mam małe pytanko co do kwerendy wyszukującej duplikaty.
Jest dana tabela złożona z ponad 2 mln wierszy, chcę znaleźć rekordy po numerze klienta, w których mogą pojawić się różnice dotyczące danego klienta. Z tabeli wybieram tylko część danych dotyczących klientów.
Jednak, gdy w postępuję tak, że w pierwszej kolejności stworzę kwerendę grupującą dane według ID klienta, miasta, ulicy, segmentu, waluty, a następnie z niej tworzę kwerendę wyszukującą duplikaty tylko po ID( w wyniku otrzymuję nr ID i ilość wystąpień tego ID) otrzymuję inny wynik niż w przypadku, gdy z wyjściowej tabeli(bez grupowania) tworzę kwerendę wyszukującą duplikaty, która również w wyniku wyświetla nr ID i ilość powtórzeń tego ID - ale wyświetla się znacznie więcej wierszy wynikowych.

Podejrzewam, że kwerenda wyszukująca duplikaty działa jakoś inaczej na całej tabeli niż na kwerendzie z pogrupowanymi danymi.
Proszę o pomoc w wyjaśnieniu tej kwestii, nie wiem dlaczego tak się dzieje:(

Ale wychodzi na to, że robiąc z głównej tabeli kwerendę wyszukującą duplikaty wynajdują się wszystkie ID, które występują w tabeli kilka razy, natomiast po pogrupowaniu danych po ID znajdują się tylko te ID, dla których w obrębie analizowanych danych rzeczywiście pojawiły się jakieś różnice w następnych polach(i nawet jak było kilka rekordów danego klienta, a wszystkie dane były jednakowe, nie był on traktowany jako dublujący się)

Z góry za pomoc w wyjaśnieniu moich wątpliwości:)
Pozdrawiam,
Asia
Michał Dziubek

Michał Dziubek Programista,
INFORM\'1

Temat: Kwerenda wyszykująca duplikaty

Joanna Jemioł:
Witam,

Mam małe pytanko co do kwerendy wyszukującej duplikaty.
Jest dana tabela złożona z ponad 2 mln wierszy, chcę znaleźć rekordy po numerze klienta, w których mogą pojawić się różnice dotyczące danego klienta. Z tabeli wybieram tylko część danych dotyczących klientów.

Co znaczy, że wybierasz część klientów?

Jednak, gdy w postępuję tak, że w pierwszej kolejności stworzę kwerendę grupującą dane według ID klienta, miasta, ulicy, segmentu, waluty, a następnie z niej tworzę kwerendę wyszukującą duplikaty tylko po ID( w wyniku otrzymuję nr ID i ilość wystąpień tego ID) otrzymuję inny wynik niż w przypadku, gdy z wyjściowej tabeli(bez grupowania) tworzę kwerendę wyszukującą duplikaty, która również w wyniku wyświetla nr ID i ilość powtórzeń tego ID - ale wyświetla się znacznie więcej wierszy wynikowych.

Nie bardzo rozumiem czemu szukasz duplikatów w pogrupowanych danych, jeżeli
zakładamy że w uproszczeniu chcesz szukać danych zduplikowanych na takiej tabeli:


id |A |B |
-------------------
1 |a |c
1 |a |c
1 |b |c
1 |c |c


To wynik zapytania:
select
id
,a
,b
from
tabela
group by
id
,a
,b


da wynik


id |A |B |
-------------------
1 |a |c
1 |b |c
1 |c |c


i teraz
kwerenda wyszukująca duplikaty dla id da ci ilość 4 dla całej tabeli i 3 dla kwerendy powyżej.
Podejrzewam, że kwerenda wyszukująca duplikaty działa jakoś inaczej na całej tabeli niż na kwerendzie z pogrupowanymi danymi.
Proszę o pomoc w wyjaśnieniu tej kwestii, nie wiem dlaczego tak się dzieje:(

Reasumując w kwerendzie szukającej duplikaty definiujesz wg. jakich pól szukać tych duplikatów, Ty natomiast pozbawiasz się ich części, przez grupowanie.Michał Dziubek edytował(a) ten post dnia 04.10.11 o godzinie 23:01
Joanna J.

Joanna J. Ryzyko kredytowe,
Bank Pekao S.A.

Temat: Kwerenda wyszykująca duplikaty

Dziękuję bardzo za pomoc:)

Pozdrawiam

Następna dyskusja:

Kwerenda pomijajaca duplikaty




Wyślij zaproszenie do