[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2002
    Beiträge
    164

    sql Anzahl Datensätze in Zweit-Datei

    werte Forenmitglieder,

    mit folgender sql-Anweisung kann ich die feststellen, ob es in einer Zweit-Datei gleiche Sätze zur Erst-Datei gibt:

    select Datei1.*, case when (select count(Datei2.*)
    from Datei2 where Datei2.Feld1 = Datei1.Feld1)
    > 1 then 'gleiche Sätze vorhanden'
    else 'keine gleichen Sätze vorhanden'
    from Datei 1

    Leider kann man dieses Statement erst ab Release V5.R2
    verwenden.
    Kann mir jemand verraten, wie man das gleiche Ergebnis
    mit einer sql-Abfrage bekommt, die auch auf einem älteren
    Release läuft.
    Danke.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    select datei1.feld1, datei2.feld2, count(datei2)
    from datei1
    inner join datei2 on datei1.feld1=datei2.feld2
    group by datei1.feld1, datei2.feld2
    having count(datei2) > 1
    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
    Feb 2002
    Beiträge
    164
    lieber Hr. Fuerchau,

    habe Ihr Statement so gut ich's konnte übersetzt.
    Krieg aber den u. a. Fehler nicht weg.
    Außerdem befürchte ich, dass ich mit dieser Lösung nur
    die Datensätze mit entsprechendem Datensatz in Datei 2
    angezeigt bekomme. Ich benötige jedoch auch alle anderen.
    Ich muss nur zu jedem Datensatz in Datei 1 anzeigen, ob bzw. wieviele gleiche Datensätze in Datei 2 vorhanden sind oder nicht.

    select veafpol7.apaulf, veafpol2.apaulf, count(veafpol2.apaulf)
    from veafpol7
    inner join veafpol2 on veafpol7.apaulf = veafpol2.apaulf
    group by veafpol7.apaulf
    having count(veafpol2.apaulf) > 1
    Spalte APAULF oder Ausdruck in SELECT-Liste nicht gültig.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Ab V5R1 müsste auch folgendes klappen:

    with
    xDatei2 as (
    select feld1, count(*) as xc
    from datei2
    group by feld1
    )

    select Datei1.*, case when xc > 1 then 'gleiche Sätze vorhanden'
    else 'keine gleichen Sätze vorhanden'
    from Datei inner join xdatei2 on feld2=feld1
    Last edited by Fuerchau; 13-12-06 at 14:30.
    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

  5. #5
    Registriert seit
    Feb 2002
    Beiträge
    164

    Vielen Dank!

    Hr. Fuerchau,

    funktioniert ausgezeichnet.

Similar Threads

  1. Editcode in SQL beschriebener Datei ?
    By ILEMax in forum IBM i Hauptforum
    Antworten: 16
    Letzter Beitrag: 24-01-07, 09:04
  2. Anzahl gelöschter Datensätze in PF
    By Der_Unwissende in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 20-10-06, 08:32
  3. Embedded SQL in Modul - Nach Insert bleibt Datei gesperrt (*EXCL)
    By JonnyRico in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 09-12-04, 12:21
  4. SQL-Select Anzahl der Datensätze
    By JoergHamacher in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 30-06-04, 17:00
  5. SQL, Datei mit sich selber verknüpft
    By SBaum in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 28-11-01, 11:55

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •