[NEWSboard IBMi Forum]

Thema: SQL update

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.786
    Da hörst du Dieter.
    Ich hätte es einfacher gesagt: Ein skalarer Subselect darf nur 1 Feld und 1 Satz als Ergebnis liefern.
    Group by macht da keinen Sinn, da du dann nur die Gruppe liefern könntest und da gibts schnellere Wege.

    Aber es muss doch eine Beziehung des Group-By-Feldes zur Update-Datei geben?
    Oder schränkst du den Update noch zusätzlich ein?
    Was und wie klappt denn nun das, was du vorhast?
    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

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.049
    So habe ich es nun gemacht
    Code:
    update DATEI_D set d_wert =COALESCE((                               
                  SELECT SUM(CASE WHEN a.f1='J' then b.f2 else a.f2 end)
      FROM Datei_A a LEFT OUTER JOIN Datei_b b ON                       
                   a.k1 = b.k1 and a.k2 = b.k2 and ...                  
                     LEFT OUTER JOIN Datei_c c ON                       
                   a.k1 = c.k1 and ...                                  
     WHERE a.Fx = 1 and a.Fy  = 0    AND a.Fz = 0 and c.F4 = D.F4       
                    and a.Fxx = 2019 AND d.Fx= 201901                   
     GROUP BY c.F4                     ), 0)                            
    WHERE d.fx= 201901 AND d.fy =201901
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.786
    Das kann dann nur funktionieren, wenn c.F4 nur genau 1 Wert enthält und dann kannst du hier den Group by auch ebenso weglassen.
    Oder wie verlinkst (joinst) du da nun von Datei_D auf die Daten des Subselects, so dass nur 1 Wert für c.F4 vorkommt?
    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
    Jun 2001
    Beiträge
    2.049
    a oder b wird summiert
    a und b sind miteinander und mit c verknüpft

    a:c = n:1
    b:c = n:1
    a:b = 1:n

    d hat n Sätze mit c.f4 was aber durch die anderen Bedingungen zu einem 1:1 wird.

    Ob ich den Group weglassen kann?
    müsste ich mal versuchen, so finde ich es auf jeden Fall lesbarer

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

Similar Threads

  1. Update RDi 9.1.1.1
    By andreaspr@aon.at in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 01-12-15, 11:28
  2. SQL Update
    By co_steffl in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 25-06-14, 15:17
  3. SQL update
    By Joe in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 15-04-03, 16:06
  4. SQL update
    By Joe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 01-04-03, 20:50
  5. Update mit SQL
    By schreibr in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-09-01, 09:22

Berechtigungen

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