[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2002
    Beiträge
    1.121

    SQL Update Satz in Abhänigkeit vom Folgesatz

    Hallo Gemeinde,
    bin auf der Suche nach Denkanstösse für ein embedet SQL für folgendes Problem.

    PHP-Code:
    SatzNr  Feld     Feld2    Feld3
    1        1        1
    2        1        1
    3        1        2
    4        1        3
    5        2        1
    6        2        2 
    Feld3 soll nun in Abhänigkeit vom folgesatz befüllt werden.
    -Feld1 und Feld2 gleich --> 'A'
    -Feld1 gleich, Feld2<> --> 'B'
    -Feld1 <> ---> Blank

    Für die Sätze oben sollte dann das wie folgt aus sehen
    PHP-Code:
    SatzNr  Feld     Feld2    Feld3
    1        1        1          A
    2        1        1          B
    3        1        2          B
    4        1        3
    5        2        1          B
    6        2        2 

    Feld1 und Feld2 sind Dec-Felder und aufsteigend. Datei ist nach Feld1 + 2 sortiert und RGZPFM in Reihenfolge gebracht.

    Bekomme ich sowas mit 1-2 Sql's schön hin?

    Gruß
    Ronald

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121
    Habe da selber eine Lösung in 2 SQLs
    PHP-Code:
    Update MyFile c                                
    set Feld3 
    'B'                                  
    where rrn(cin Select rrn(a)                  
    from MyFile a                                  
    left join Myfile b on rrn
    (a)+rrn(b)        
    where  a.Feld1  b.Feld1                        
    and    a.Feld2 <> b.Feld2     
    PHP-Code:
    Update MyFile c                                
    set Feld3 
    'A'                                  
    where rrn(cin Select rrn(a)                  
    from MyFile a                                  
    left join Myfile b on rrn
    (a)+rrn(b)        
    where  a.Feld1  b.Feld1                        
    and    a.Feld2  b.Feld2     
    Gruß
    Ronald

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Schade,
    ich hatte grade das als Basis:
    Code:
    create table x as (
    with a as (select dec(rrn(pnum1), 9, 0)   as snr,         
                pnum1.* from pnum1 where rrn(pnum1) > 0)      
         b as (select dec(rrn(pnum1), 9, 0)-1 as snr          
                pnum1.* from pnum1 where rrn(pnum1)>1)        
    select * from a, b   where a.snr = b.snr    ) with data
    damit hast du Satz 1 und Satz 2 nebeneinander und kannst vergleichen

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

Similar Threads

  1. Antworten: 40
    Letzter Beitrag: 03-11-14, 09:15
  2. Antworten: 11
    Letzter Beitrag: 11-07-14, 10:32
  3. Satz in Datenbankdatei in CL schreiben??
    By JonnyRico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 02-04-03, 15:52
  4. Subfile auf letztem bearbeiteten Satz aufsetzen
    By Fertig in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-02-03, 11:28
  5. Update mit SQL
    By schreibr in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-09-01, 08:22

Berechtigungen

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