Announcement

Collapse
No announcement yet.

Felder mit Nullen auffüllen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Felder mit Nullen auffüllen

    Hi hab mal eine Frage;

    im end Result addiere ich drei Felder; diese Felder bestehen aus Summenfelder die vorher erstellt wurden. Nun sind teilweise in den Feldern keine Werte (auf zeilen ebene) enthalten, sodass das Summenfeld auch leer ist. Hab versucht mit dem befehl coalesce die Felder mit Nullen aufzufüllen; klappt aber net;
    der Summenbefehl ist einem Case drin der mit <Else 0> endet; also mein Latein ist am ende ;-); kann mir jemand sagen warum die Felder nicht auf gefüllt werden; Gibt es einen Befehl für das gesamte Result set der leere felder mit Null auffüllt?

    Hier der befehl
    coalesce(
    sum (case when (KZ00PF.KZ00bkurs<>0) and (KZ00PF.KZ00SBWKAL ='+')
    then (KZ00PF.KZ00BKLKF/KZ00PF.KZ00bkurs)
    when (KZ00PF.KZ00bkurs=0) and (KZ00PF.KZ00SBWKAL ='+')
    then (KZ00PF.KZ00BKLK)
    else 0
    end),0) as Erloese

    danke

  • #2
    Originally posted by Maveric251279 View Post
    Hi hab mal eine Frage;

    im end Result addiere ich drei Felder; diese Felder bestehen aus Summenfelder die vorher erstellt wurden. Nun sind teilweise in den Feldern keine Werte (auf zeilen ebene) enthalten, sodass das Summenfeld auch leer ist. Hab versucht mit dem befehl coalesce die Felder mit Nullen aufzufüllen; klappt aber net;
    der Summenbefehl ist einem Case drin der mit <Else 0> endet; also mein Latein ist am ende ;-); kann mir jemand sagen warum die Felder nicht auf gefüllt werden; Gibt es einen Befehl für das gesamte Result set der leere felder mit Null auffüllt?

    Hier der befehl
    coalesce(
    sum (case when (KZ00PF.KZ00bkurs<>0) and (KZ00PF.KZ00SBWKAL ='+')
    then (KZ00PF.KZ00BKLKF/KZ00PF.KZ00bkurs)
    when (KZ00PF.KZ00bkurs=0) and (KZ00PF.KZ00SBWKAL ='+')
    then (KZ00PF.KZ00BKLK)
    else 0
    end),0) as Erloese

    danke
    a)[HIGHLIGHT="SQL"]-- eher so
    SUM (CASE WHEN (KZ00PF.KZ00bkurs<>0) AND (KZ00PF.KZ00SBWKAL ='+')
    THEN (COALESCE (KZ00PF.KZ00BKLKF, 0)/COALESCE (KZ00PF.KZ00bkurs, 1))
    WHEN (KZ00PF.KZ00bkurs=0) and (KZ00PF.KZ00SBWKAL ='+')
    THEN (COALESCE (KZ00PF.KZ00BKLK, 0))
    END) as Erloese[/HIGHLIGHT]
    b) Sql_Code formatiert man so....

    Comment


    • #3
      Gefahr erkannt gefahr gebannt;

      dummer Anfängerfehler; habe nach dem summieren noch die Tabellen über left outer zusammengeführt; natürlich bleiben da felder leer; ob nun mit oder ohne coalesce;

      @ebis

      ich werde in Zukunft darauf achten danke

      Comment

      Working...
      X