[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.945
    Das SQL-Statement kann auch nicht funktionieren, da es nicht korrekt ist!

    Counter ist eine Common Table Expression und keine Spalte. Der Spalten-Name ist VALUE.
    Wenn Du das Statement wie folgt änderst, funktioniert es auch:

    Code:
    with counter (value) as (  values(1)
                             union all
                               select value + 1 from counter
                                  where value < 20)
    select * from counter ;
    Im Übrigen stimmt das komplette Statement auch nicht. Wenn Du es jedoch wie folgt änderst, sollte es funktionieren. (Anstatt der Datei habe ich eine Dummy-Datei über eine Common Table Expression generiert, mit 4 Sätze und jeweils 2 Spalten, den Text und die Anzahl/Number)
    Code:
    with counter (value) as (  values(1)
                             union all
                               select value + 1 from counter
                                  where value < 20),
         File (Text, Number) as (Values('ABC', 5),
                                       ('XXX', 3),
                                       ('YYY', 7),
                                       ('ZZZ', 1))                         
    select Text, 1, a.*, b.* 
       from File a inner join Counter b on Number >= Value
       Order By Text;
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Oct 2003
    Beiträge
    172
    Zitat Zitat von B.Hauser Beitrag anzeigen
    Das SQL-Statement kann auch nicht funktionieren, da es nicht korrekt ist!

    Counter ist eine Common Table Expression und keine Spalte. Der Spalten-Name ist VALUE.
    Wenn Du das Statement wie folgt änderst, funktioniert es auch:

    Code:
    with counter (value) as (  values(1)
                             union all
                               select value + 1 from counter
                                  where value < 20)
    select * from counter ;
    Im Übrigen stimmt das komplette Statement auch nicht. Wenn Du es jedoch wie folgt änderst, sollte es funktionieren. (Anstatt der Datei habe ich eine Dummy-Datei über eine Common Table Expression generiert, mit 4 Sätze und jeweils 2 Spalten, den Text und die Anzahl/Number)
    Code:
    with counter (value) as (  values(1)
                             union all
                               select value + 1 from counter
                                  where value < 20),
         File (Text, Number) as (Values('ABC', 5),
                                       ('XXX', 3),
                                       ('YYY', 7),
                                       ('ZZZ', 1))                         
    select Text, 1, a.*, b.* 
       from File a inner join Counter b on Number >= Value
       Order By Text;
    VIELEN DANK hat super funktioniert habe mein Problem mit deiner Lösung lösen können!!!

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.808
    Bis auf meinen Tippfehler (counter < 20) funktioniert mein SQL aber.
    Ich habe meinen Betrag minimal korrigiert;-).
    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

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.945
    Bis auf meinen Tippfehler (counter < 20) funktioniert mein SQL aber.
    Der JOIN muss a.Value >= b.Value und nicht a.Value <= b.Value sein!

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.808
    Das liegt dann immer daran, wenn man falsch vom anderen Schirm abtippt, hmpf. Copy/Paste geht da nicht über 2 Systeme.
    Aber dafür sind wir ja ein gutes Team;-).
    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

Tags for this Thread

Berechtigungen

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