[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2003
    Beiträge
    221

    SQL mit Gruppenwechsel

    Hallo zusammen,

    bekomme ich so etwas mit SQL hin. Ich habe eine Eingabetabelle auf Detailebene und muss einen Gruppensatz in eine andere Datei ausgeben mit Werten von und bis . Hier die Tabellen:

    Inputtabelle

    PLZ KZ_1 KZ_2 KZ_3
    ------ -------- ------- --------
    01050 1 2 2
    01051 1 2 2
    01052 2 2 3
    01090 2 2 1

    Die Ausgabe soll so ausehen

    PLZ_von PLZ_bis KZ Wert
    01050 01051 KZ_1 1
    01052 01090 KZ_1 2
    01050 01090 KZ_2 2
    01050 01051 KZ_3 2
    01052 01052 KZ_3 3
    01090 01090 KZ_3 1


    Vielen Dank im voraus,

    Peter
    Peter Kinne
    EDV-Beratung
    www.kinne.de

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.296
    Genereller Aufbau:

    Insert into MyDest
    select ... from MySource
    where ...
    group by ....

    Das Problem ist nur noch die Bereichszusammenfassung:

    case
    when plz between 01050 and 01051 then '01050 01051'
    when plz between 01052 and 01090 then '01052 01090'
    when ....
    else ...
    end

    Im Group by ist allerdings der Case-Ausdruck zu wiederholen.

    Man kann auch folgendes gestalten:

    insert into MyDest
    with
    xMyFile as (
    select ...
    case ... as Plz_Von_Bis
    ...
    from Myfile
    where
    )
    select .... from xMyFile
    group by ..., Plz_Von_Bis, ...
    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
    Sep 2003
    Beiträge
    221
    Recht herzlichen Dank.

    Ich werde es gleich mal probieren.

    Gruß

    Peter
    Peter Kinne
    EDV-Beratung
    www.kinne.de

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.325
    So könnte es gehen:
    Code:
    SELECT MIN(PLZ), MAX(PLZ), '1', FELD1 FROM DATEI GROUP BY FELD1 UNION
    SELECT MIN(PLZ), MAX(PLZ), '2', FELD2 FROM DATEI GROUP BY FELD2 UNION
    SELECT MIN(PLZ), MAX(PLZ), '3', FELD3 FROM DATEI GROUP BY FELD3
    ORDER BY 3, 1, 2

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.296
    Stimmt, man muss nur die Aufgabe mal verstehen!
    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

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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