[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2003
    Beiträge
    163

    Noch einmal: Update einer Tabelle mit Wert aus einer anderen

    Hallo zusammen,

    in dem Thread http://http://newsolutions.de/forum-systemi-as400-i5-iseries/threads/10599-SQL-Update-aus-zwei-Dateien-mit-3-Schl%C3%BCsselfeldern wurde das Thema ja ausführlich von Baldur und Brigitta behandelt. Ich bekomme aber immer Fehlermeldungen.

    Code:
       UPDATE fmbasis2 a                          
       SET a.bsartnr                              
                                                  
       = (select distinct b.fmart                 
          from erp/artikel_l3 b                   
               where   a.baba  = b.dsba           
               and     a.bsgte = b.dsgte          
               and     a.bspf  = b.dspr           
               and     a.bsbrt = b.dsfbr1         
               and     a.bsdck = b.dsfstk         
               and     b.laenge = 3200            
               and     b.status1 = 'Lagerartikel' 
         )                                        
       where exists (                             
                      select c.baba,              
                             c.bsgte,             
                             c.bspf ,             
                             c.bsbrt,     
                             c.bsdck      
                      from fmbasis2 c     
               where   a.baba  = c.baba   
               and     a.bsgte = c.bsgte  
               and     a.bspf  = c.bspf   
               and     a.bsbrt = c.bsbrt  
               and     a.bsdck = c.bsdck )
    bringt mir die Meldung "Nullwerte für Spalte oder Variable BSARTNR nicht zulässig.".
    Wenn ich die Tabelle erp/artikel_l3 mit den Bedingungen
    b.laenge = 3200
    and b.status1 = 'Lagerartikel'
    abfrage, bekomme ich keine NULL Sätze. Hat jemand eine Idee, woran das liegen kann?

    Herzlichen Dank im Voraus

    Hubert

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Die beiden Where-Klauseln korrespondieren nicht zu einander.
    In erp/artikel_l3 ist die gewünschte Information nicht vorhanden, die in fmbasis2 aber gefunden wird.
    Hier solltest du zusätzlich abfragen

    where exists ...
    and exists (select * from erp/artikel_l3 ...)

    Den Subselect kannst du noch beschleunigen:
    select b.fmart
    from erp/artikel_l3 b
    where a.baba = b.dsba
    and a.bsgte = b.dsgte
    and a.bspf = b.dspr
    and a.bsbrt = b.dsfbr1
    and a.bsdck = b.dsfstk
    and b.laenge = 3200
    and b.status1 = 'Lagerartikel'
    fetch first 1 rows only
    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
    Aug 2003
    Beiträge
    163
    Danke für die schnelle Antwort, hat geklappt.

    Hubert

Similar Threads

  1. SQL: Sortierung individuell nach einer Werte-Tabelle
    By bie-dro in forum NEWSboard Programmierung
    Antworten: 18
    Letzter Beitrag: 08-09-14, 21:26
  2. Antworten: 2
    Letzter Beitrag: 24-04-03, 13:05
  3. Remote-Jobstart von einer AS/400 zur anderen
    By Bleil in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 17-09-02, 14:16
  4. Berechtigung zum Updaten einer Tabelle
    By Sascha Storzum in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 22-08-02, 08:37
  5. Drucken auf einer anderen AS/400
    By Bleil in forum NEWSboard Drucker
    Antworten: 1
    Letzter Beitrag: 24-05-02, 10:01

Berechtigungen

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