-
SQL - Mehrfachdatensätze Löschen
Wir bekommen von einer externen Windows-Anwendung Datensätze zwecks Lagerverbuchung angeliefert.
Jetzt kommt es sporadisch vor, dass Datensätze in diese Schnittstellendatei mehrfach angeliefert werden.
Gibt es mittels SQL eine Möglichkeit alle eindeutigen Datensätze in eine neue Datei zu schreiben, d.h. dass dann ein Datensatz nur einmal vorkommt?
Weiters wäre es hilfreich, die dadurch gelöschten Sätze in eine eigene Datei, zweck Nachvollziehbarkeit auszugeben.
Besten Dank im Voraus für die Hilfe.
-
Select distinct * from mytable
-
Vorab, um die doppelten aus zu geben
select "alle Felder" (oder nur die, die den Unique Key bilden) from Datei group by "alle Felder" (oder nur die, die den Unique Key bilden) having count(*) > 1
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Danke für die Hilfen, bin schon um einiges weitergekommen.
Aber wie kann ich bei group by "alle Felder" auswählen, ohne wirklich die Felder auswählen zu müssen?
-
... so wie man ins Wasser gehen kann ohne nass zu werden: gar nicht!
-
Probier's mal so:
SELECT DISTINCT * FROM Datei WHERE (Feld1, Feld2, ...) IN
(
SELECT Feld1, Feld2, ... FROM Datei
GROUP BY Feld1, Feld2, ...
HAVING COUNT(*)>1
)
-
Kommen wir noch mal auf die Ursprungsfrage:
"Gibt es mittels SQL eine Möglichkeit alle eindeutigen Datensätze in eine neue Datei zu schreiben, d.h. dass dann ein Datensatz nur einmal vorkommt?"
=>
Insert into NewTable
select distinct * from OldTable
=>
create table NewTable as (
select distinct * from OldTable)
with data
Mittels Group und Having erhält man doch nur die Sätze, die wirklich mehr als 1x vorkommen.
Was ist mit den Daten, die wirklich nur 1x da sind?
Der DISTINCT (Eindeutig!) fasst alle doppelten zusammen. Der Group/Having macht nur Sinn, wenn man mehrfache Schlüssel hat, diese jedoch unterschiedliche Daten.
-
Hallo Baldur
ja, DU hast die Frage gelöst,
ich war nur Hilfreich
Weiters wäre es hilfreich, die dadurch gelöschten Sätze in eine eigene Datei, zweck Nachvollziehbarkeit auszugeben.
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Besten Dank an alle für die Hilfestellung.
Similar Threads
-
By Flappes in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-05-17, 09:07
-
By Fuerchau in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 05-08-14, 21:54
-
By harbir in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 12-03-14, 15:34
-
By szokoll in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 15-04-02, 15:13
-
By awellen in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-10-01, 12:39
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks