SQL 2005 bestimmte Datensätze finden

02/03/2009 - 16:15 von HeyneM | Report spam
Hallo zusammen,
ich habe das folgende (Riesen)Problem. In einer Tabelle mit > 85.000
Datensàtzen muss ich bestimmte "doppelte" Daten finden und dann spàter
auch löschen. Die Tabelle sieht so aus:

Prod Artnr. Menge DatumLS
LS DatumRE RE Ref
9720A 98108931 1 01.06.2005 LI765388 01.06.2005 RE533994 NULL
C9721A 98108932 1 01.06.2005 LI765388 01.06.2005 RE533994 NULL
C9722A 98108933 1 01.06.2005 LI765388 01.06.2005 RE533994 NULL
C9723A 98108934 1 01.06.2005 LI765388 01.06.2005 RE533994 NULL
98108933 2 01.06.2005 00:00 LI765388 01.06.2005 00:00 RE533994 9010/
C9722A
98108934 2 01.06.2005 00:00 LI765388 01.06.2005 00:00 RE533994 9010/
C9723A
98108932 1 01.06.2005 00:00 LI765388 01.06.2005 00:00 RE533994 9010/
C9721A

Wie zu sehen ist, sind drei RG Positionen vom Artikel identisch aber
nicht von der Menge. ich muss jetzt die finden und ggf. löschen, bei
denen die RG Nummer und Artnr. identisch und die Menge ungleich ist.
Gelöscht werden die, bei denen Ref = NULL

Ich bin für jeden Tipp dankbar wie ich das lösen kann.

VIELEN DANK im voraus
Michael
 

Lesen sie die antworten

#1 Dieter Strassner
02/03/2009 - 16:26 | Warnen spam
Hallo Michael,



"HeyneM" schrieb im Newsbeitrag
news:
Hallo zusammen,
ich habe das folgende (Riesen)Problem. In einer Tabelle mit > 85.000
Datensàtzen muss ich bestimmte "doppelte" Daten finden und dann spàter
auch löschen. Die Tabelle sieht so aus:
[..]
Wie zu sehen ist, sind drei RG Positionen vom Artikel identisch aber
nicht von der Menge. ich muss jetzt die finden und ggf. löschen, bei
denen die RG Nummer und Artnr. identisch und die Menge ungleich ist.
Gelöscht werden die, bei denen Ref = NULL



Doppelte Records kannst Du mit folgender Vorgehensweise finden:

Select a.id, b.id FROM table1 as a, table2 as b
WHERE a.id>b.id AND a.krit1=b.krit1 AND a.krit2=b.krit2 AND a.krit3=b.krit3
AND a.krit4<>b.krit4
ORDER BY a.id

Den Vergleich a.id>b.id soll verhindern das in a und b der gleiche Satz
verglichen wird, den der ist ja immer identisch. Zudem spart die Bedingung
die zweite Hàlfte der unnötigen Vergleiche ein. Ist keine ID vorhanden,
dann ggfs. ein anderes eindeutuiges Kritzerium benutzen.

Kriterium 1-3 (s.o.) sind deine übereinstimmende Felder, Krit4 ist dein
Mengenfeld. Krit5 könnte die Ref-Bedingung werden.


Viele Grüße

Dieter


Rückfragen bitte nur in die Newsgroup!

EDV-Kommunikation Strassner e.K.
68623 Lampertheim
Internet: www.strassner.biz

Ähnliche fragen