[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2003
    Beiträge
    331

    Angry SQL INSERT aus JOIN

    Ich würde gerne in SQL eine Tabelle füllen (insert) mit
    Werten aus einer Join-Verbindung. Da mache ich aber irgendwas falsch.
    Vielleicht kann mir einer sagen, was.

    PHP-Code:
     
       insert into BOLDIFpf            
          
    (   bdstkn     ,             
              
    bdidenti   ,             
              
    bdnmen     ,             
              
    bdbopale   ,             
              
    bdarti     ,             
              
    bdvere     ,             
              
    bddess     ,             
              
    bdgrsc     ,             
              
    bdfarb     ,             
              
    bdfar2     ,             
              
    bdidentib  ,             
              
    bdmeter    ,             
              
    bddatum    ,                                                 
              
    bdkenn      )                                                
       
    values (                                                         
           
    lag.lastkn    ,                                              
           
    lag.lavgre12  ,                                              
           
    lag.lanmen    ,                                              
           
    lag.labopale  ,                                              
           
    quali         ,                                              
           
    lag.lavere    ,                                              
           
    lag.ladess    ,                                              
           
    lag.lagrsc    ,                                              
           
    lag.lafarb    ,                                              
           
    lag.lafar2    ,                                              
           
    bol.bvidenti  ,                                              
           
    bol.bvmeter   ,                                              
           
    bol.bvdatum   ,                                              
           
    'A'            )                                             
    where (                                                             
          
    select  lag.lastkn,   lag.lavgre12,             lag.lanmen,   
                  
    lag.labopalesubstring(lag.laarti16) as quali,   
                                                     
    lag.laverelag.lades
                   lag
    .lagrsc,   lag.lafarb,   lag.lafar2,          
                   
    bol.bvidentibol.bvmeter,  bol.bvdatum          
                   from  lagbespf LAG                               
                     LEFT OUTER JOIN  bolvsnpf  BOL  ON             
                          LAG
    .LASTKN BOL.bvstkn                   
            where  lafirm  
    =  01                                    
               
    and  lalort  =  810                                   
               
    and  lapros  =  82 ) ; 
    Die Fehlermeldung lautet:

    PHP-Code:
     SQL5001  30      23  Position 17 Qualifikationsmerkmal für Spalte oder          
                          Tabelle LAG nicht definiert
    .                               
     
    SQL5001  30      24  Position 17 Qualifikationsmerkmal für Spalte oder          
                          Tabelle LAG nicht definiert
    .                               
     
    SQL5001  30      25  Position 17 Qualifikationsmerkmal für Spalte oder          
                          Tabelle LAG nicht definiert
    .                               
     
    SQL5001  30      26  Position 17 Qualifikationsmerkmal für Spalte oder          
                          Tabelle LAG nicht definiert
    .                               
     
    SQL5001  30      28  Position 17 Qualifikationsmerkmal für Spalte oder          
                          Tabelle LAG nicht definiert
    .                               
     
    SQL5001  30      29  Position 17 Qualifikationsmerkmal für Spalte oder          
                          Tabelle LAG nicht definiert


    Ich nehme an, dass ich irgend erwas grundsätzlich falsch mache, aber was.

    mfg. Ludger

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Die Syntax lautet:

    insert into filea
    select .... from fileb where ...

    oder

    insert into filea (f1, f2, ...)
    select .... from fileb where ...

    Wobei eben jede Select-Spalte einer Insert-Spalte zugeordnet wird.
    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
    Jul 2003
    Beiträge
    331
    Danke für die Unterstützung.

    Nachdem ich ein bißchen ausprobiert habe, habe ich jetzt ein INSERT erstellt unter Verwendung eines LEFT OUTER JOINS und ein zweites unter Verwendung eines RIGHT EXCEPTION JOINS, wobei ich NULL-Werte durch Value-Eintrag mit 0 oder *blank ersetze.


    Dadurch spare ich mir ein RPG-Programm.

    ( war zum Üben ganz gut )


    mfg. Ludger

Similar Threads

  1. SQL Insert in schleife
    By Robi in forum IBM i Hauptforum
    Antworten: 20
    Letzter Beitrag: 16-03-09, 10:32
  2. SQL inner join
    By Robi in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 22-06-07, 15:52
  3. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 08:28
  4. SQL - Join mit Bedingung und Update
    By cassi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 22-11-06, 15:03
  5. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13

Berechtigungen

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