[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2007
    Beiträge
    10

    Angry SQL läuft interaktiv aber nicht als RUNSQLSTM

    Hallo zusammen,

    ich bin gerade am verzweifeln, ich habe folgendes Statement

    Code:
    insert into bi.miniserp
     select  tlwgr, g.KKMMK, g.KKJJK, sum(g.anzges) as sumanzges,
     sum(ifnull(m.anzmini, 0)) as sumanzmin from
     (SELECT kktlnr, KKMMK, KKJJK, COUNT(k1.kkser) as anzges FROM asdat.kkls2p k1
     group by  kkmmk, kkjjk, KKTLNR) g left join (SELECT kktlnr, KKMMK, KKJJK, COUNT(k2.kkser)
     as anzmini FROM asdat.kkls2p k2
     where KKMENG <= 100
     group by  kkmmk, kkjjk, KKTLNR) m on m.kktlnr = g.kktlnr and
     m.kkmmk=g.kkmmk and m.kkjjk = g.kkjjk
     join asdat.tlstap on g.kktlnr = tlnr and tlstat<>'L' and tls2=0
     group by tlwgr, g.KKMMK, g.KKJJK ;
    Per STRSQL läuft es problemlos.
    Leider aber nicht per Befehl:
    Code:
    RUNSQLSTM SRCFILE(BI/QSQLSRC) SRCMBR(MINSERSQL) COMMIT(*NONE) NAMING(*SQL)
    Ich bekomme die Fehlermeldung:
    Code:
    RUNSQLSTM SRCFILE(BI/QSQLSRC) SRCMBR(MINSERSQL) COMMIT(*NONE) NAMING(*SQL)
    Spalte COUNT nicht in angegebenen Tabellen.
    Detail:
    Code:
    Nachrichten-ID . . . . :   SQL0206       Bewertung  . . . . . . :   30      
    Nachrichtenart . . . . :   Diagnose                                         
    Sendedatum . . . . . . :   17.03.11      Sendezeit  . . . . . . :   15:41:11
                                                                                
    Nachricht . . . :   Spalte COUNT nicht in angegebenen Tabellen.             
    Ursache  . . . . :  COUNT ist keine Spalte von Tabelle *N in *N. Ist die    
      Tabelle *N, ist COUNT keine Spalte einer Tabelle oder Sicht, auf die      
      verwiesen werden kann.                                                    
    Fehlerbeseitigung:  Einen der folgenden Schritte durchführen und die        
      Anforderung wiederholen:                                                  
        -- Sicherstellen, dass die Spalten- und Tabellennamen in der Anweisung  
      korrekt angegeben wurden.                                                 
        -- Handelt es sich um eine Anweisung SELECT, sicherstellen, dass alle   
      erforderlichen Tabellen in der Klausel FROM angegeben wurden.             
        -- Sollte die Spalte ein Korrelationsbezug sein, die Spalte mit der     
      korrekten Tabellenkennzeichnung qualifizieren.
    Hat jemand einen Tipp, woran es liegen könnte? Mit CTE habe ich es auch schon versucht...

    Vielen Dank schon mal

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Hi,
    es lässt sich schwee lesen (Firefox stellt es nicht gut dar) aber ich vermute dein Count(...) steht man ende einer Zeile.
    Warscheinlich > 80 ste Spalte. Das mag Runsqlstmt nicht.
    ändere mal den Umbruch

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

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Und wenn Du die counts wegläßt funktioniert es dann?

    Ansonsten kannst Du nur hoffen das Birgitta oder Baldur das liest......

    GG

  4. #4
    Registriert seit
    Nov 2007
    Beiträge
    10
    Argh!
    Manchmal sieht man den Wald vor lauter Bäumen nicht.
    Das Teil war zu lang....

    Vielen Dank, jetzt rennt es

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da kann ich mich auch dunkel erinnern, nur dass die letzte Spalte 72 ist!
    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

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Boah, krass. Da muß man erstmal draufkommen!

  7. #7
    Registriert seit
    Nov 2007
    Beiträge
    10
    Hat mich 2 Sunden gekostet...aber so hilft es anderen vielleicht schneller drauf zu kommen.

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    ... übrigens in den neueren Releases 6.1 oder 7.1 kann beim RUNSQLSTM angegeben werden, bis zu welcher Spalte (Maximum 32764) der SQL Code verarbeitet werden kann.

    Default ist weiterhin 80!

    Code:
    RUNSQLSTM SRCFILE(MYLIB/QSQLSTM)  
              SRCMBR(MYMBR)           
              MARGINS(130)  
    Birgitta
    Birgitta Hauser

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

  9. #9
    Registriert seit
    Jul 2001
    Beiträge
    2.646
    Zitat Zitat von B.Hauser Beitrag anzeigen
    ... übrigens in den neueren Releases 6.1 oder 7.1 kann beim RUNSQLSTM angegeben werden, bis zu welcher Spalte (Maximum 32764) der SQL Code verarbeitet werden kann.
    Das ist so eine typische IBM-Lösung (immer besser manuell) ;-)

    -h

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  3. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  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
  •