Ich würde auch mal ganz lapidar sagen, dass 24 unabhängige SELECTs das Ganze auch nicht unbedingt performanter machen.
Dabei werden im Gegensatz zu der UDF (alle 24 Werte als String in einer Spalte) auch 24 einzelne Spalten generiert.
Ist das so gewollt?
Anstatt 24 einzelnen Sub-SELECTS würde ich es mit einer einzigen Common Table Expression oder einem einzigen Sub-Select in der FROM-Anweisung versuchen.
oderCode:Select P1.adKto, Sum(Case When Monat = 201301 Then Coalesce(IST, 0) else 0), Sum(Case When Monat = 201302 Then Coalesce(IST, 0) else 0), Sum(Case When Monat = 201303 Then Coalesce(IST, 0) else 0), ... From SOE01/ADR01PF p1 Left outer Join (Select Knd, Sum(Ist) Ist from Planz Group By Knd) x on p1.adkto = Knd Where .... Group by P1.ADKTO Order By P1.ADKTO;
BirgittaCode:With x as (Select Knd, Sum(Ist) From Planz Group By Knd) Select P1.adKto, Sum(Case When Monat = 201301 Then Coalesce(IST, 0) else 0), Sum(Case When Monat = 201302 Then Coalesce(IST, 0) else 0), Sum(Case When Monat = 201303 Then Coalesce(IST, 0) else 0), ... From SOE01/ADR01PF p1 Left outer Join on P1.ADKTO = KND Where .... Group By P1.ADKTo Order By P1.ADKTO;
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks