PDA

View Full Version : Duplettensuche



FNeurieser
18-09-12, 13:10
Hallo und guten Tag,

eine Frage an die Gurus:

ich habe eine Datei in der ein Datensatz leider mehrfach vorkommen kann. Wie kann ich die Datei abarbeiten und mir die relative Satznummer des gefunden Duplikats ausgeben lassen?

gibt es da eine relativ einfache Lösung?

PS: Die Datei besteht aus einem Feld mit einer SL von 256

Robi
18-09-12, 13:16
with a as
(select feld from datei
group by feld
having count(*) > 1)
select max(rrn(datei)) from datei
where feld in(
select feld from a)

das ist EIN sql statement das die größere der Satznr anlistet

Robi

FNeurieser
18-09-12, 13:53
Hallo Robi,

danke für die rasche Antwort. Ich bekomme aber eine Fehlermeldung wenn ich das statement absetze:



Qualifikationsmerkmal für Spalte oder Tabelle FILLGH_15 nicht defini
with a as
(select fldata from testfgn/fillgh_15
group by fldata
having count(*) > 1)
select max(rrn(testfgn/fillgh_15)) from testfgn/fillgh_15
where fldata in(
select fldata from a)


wobei mein feld fldata heißt und die datei eben fillgh_15

Robi
18-09-12, 14:44
syntax von rrn ist ohne die lib

außerdem habe ich noch ein group by feld 'hinten ' im sql vergessen



with a as
(select fldata from testfgn/fillgh_15
group by fldata
having count(*) > 1)
select max(rrn(fillgh_15)) from testfgn/fillgh_15
where fldata in(
select fldata from a) group by fldata

FNeurieser
18-09-12, 15:04
Super, genau das was ich gesucht habe.

Recht herzlichen Dank

Pikachu
18-09-12, 15:07
Probiers mal so:

Alle Datensätze der Datei, jedoch ohne
die mit der kleinsten Satznummer je gleichem Feldinhalt:

SELECT * FROM Datei AS A WHERE RRN(A) NOT IN (
SELECT MIN(RRN(B)) FROM Datei AS B GROUP BY Feld)