[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2007
    Beiträge
    243

    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.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Select distinct * from mytable
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    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!)

  4. #4
    Registriert seit
    Aug 2007
    Beiträge
    243
    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?

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... so wie man ins Wasser gehen kann ohne nass zu werden: gar nicht!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.306
    Probier's mal so:

    SELECT DISTINCT * FROM Datei WHERE (Feld1, Feld2, ...) IN
    (
    SELECT Feld1, Feld2, ... FROM Datei
    GROUP BY Feld1, Feld2, ...
    HAVING COUNT(*)>1
    )

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    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!)

  9. #9
    Registriert seit
    Aug 2007
    Beiträge
    243
    Besten Dank an alle für die Hilfestellung.

Similar Threads

  1. Löschen von PTF-Gruppen
    By Flappes in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-05-17, 09:07
  2. SQL Cache löschen
    By Fuerchau in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 05-08-14, 21:54
  3. Löschen per SQL in 2 Tabellen
    By harbir in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 12-03-14, 15:34
  4. DEV aus SBS löschen
    By szokoll in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 15-04-02, 15:13
  5. Löschen LFM
    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
  •