Zum Inhalt springen

hammerle

Mitglieder
  • Gesamte Inhalte

    9
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von hammerle

  1. Das kommt davon wenn man mit dem Kopf woanders ist Dies ist ein neuer Thread und an Oracle hatte ich nicht mehr gedacht. :floet: Ja, es geht um Oracle und PL/SQL. Das Problem ist halt nicht so einfach zu beschreiben und darum hatte ich halt das kleine Beispielscript gepostet. Wenn man mit vielen Subselects arbeitet um daraus eine ganze Reihe von Berechnungen zu machen müssen alle Subselects auch Wert liefern. Wenn auch nur einer der Subselects keinen Datensatz finden kann blendet PL/SQL die komplette Zeile der Berechnung im select aus. Auch wenn Teilberechnungen und andere Subselects durchaus Werte liefern und er diese anzeigen könnte. In meinem Fall war es so, dass im Jahr 2008 keine Werte zu holen waren aber durchaus für 2009, da wir im Juli 2009 mit der Datenaufnahme begonnen hatten. Als ich das Script laufen ließ wunderte ich mich warum er überhaupt nichts angezeigt hat. Für 2008 war es mir ja klar aber wo sind die Daten von 2009 hin? Man muß die Subselects in der where Abfrage verknüpfen, damit auch alle Daten angezeigt werden. z.B where a.var = b.var(+) Das (+) sorgt dafür, dass auch die Zeilen angezeigt werden, die keine Werte geliefert haben und die anderen Werte aus 2009 plötzlich "auftauchen". Das Problem ist gelöst.
  2. Hi, Ich bin noch Anfänger und habe ein Problem mit Subselect die kein Ergebnis liefert und mir daraufhin der select oben überhaupt nichts mehr anzeigt in der Zeile. Ich setzte einfach veg auf den Wert 22 doch wenn das Subselect unten kein Ergebnis liefert verschwindet auch die Anzeige 22 unter veg. Weiss vielleicht jemand wie man so etwas abfangen kann? select 22 as veg from (select wabe from t154wast where jahr = &jahr and stufe = ' ' and wabe = '02' and (hwgr='08') ) a22
  3. Hi Dimitri, Es sind 7 subselects die ich brauche um 10 verschiedene Spalten zu berechnen Und die Subselects sind nicht alle gleich, da es verschiedene Monate sind oder Jahre. Und dann geht das ganze nochmal * 16 wegen der 16 Warengruppen. Könnte man sicherlich besser machen aber erstmal überhaupt zum laufen bekommen Ich bin jetzt soweit fertig und habe nur noch ein Problem mit einem der Warengruppen. Ich berechne ja insg. 10 Spalten und in einer der Warengruppen liefert eine Spalte kein Wert zurück. Soweit kein Problem nur das PL/SQL so toll ist, dass wenn eine Spalte kein Wert liefert er die komplette Zeile ausblendet obwohl einzelne Spalten durchaus Wert liefern... Wie kann man das denn abfangen?
  4. Hi Flashpixx, Wie ich schon sagte bin ich Anfänger! Was ich schon kennengelernt habe ist der Beautifier in PL/SQL. Den habe ich auch laufen lassen in der Hoffung das es das ist was Du meinst!? Aber anscheinend wohl nicht? sry dafür PS: Und wie geht das was Du meinst? Das der Code nicht mehr läuft liegt aber genau an dem Beautifier, da er vor dem & einer jeden Variable plötzlich ein Leerzeichen eingesetzt hat.... Ich habe jetzt quasi jeden "Satz" (1/16) den Code eingeklammert und zwischen den einzelnen select's den union all gelegt. Wie Flashpixx schon sagte funktioniert das! Vielen Dank Flash!
  5. Hi Flashpixx, Ich habe das jetzt mal so versucht was leider nicht klappt Jetzt meint er "From sei nicht an der erwarteten Stelle" select 11 as veg, a11.Monat_ &monat, b11.Monat_ &monat, (((100 / a11.Monat_ &monat) * b11.Monat_ &monat) - 100) Veraenderung, a11.aufgelaufen, b11.aufgelaufen, (((100 / a11.aufgelaufen) * b11.aufgelaufen) - 100) Veraenderung, c11.rmpf_aufgel_vor, (d11.aufgelalt + e11.aufgelneu) as Rumpf_alt_ &jahr, (f11.aufgelalt + g11.aufgelneu) as Rumpf_neu_ &jahr, (((100 / (d11.aufgelalt + e11.aufgelneu)) * (f11.aufgelalt + g11.aufgelneu)) - 100) Veraenderung union all select 12 as veg, a12.Monat_ &monat, b12.Monat_ &monat, (((100 / a11.Monat_ &monat) * b12.Monat_ &monat) - 100) Veraenderung, a12.aufgelaufen, b12.aufgelaufen, (((100 / a12.aufgelaufen) * b12.aufgelaufen) - 100) Veraenderung, c12.rmpf_aufgel_vor, (d12.aufgelalt + e12.aufgelneu) as Rumpf_alt_ &jahr, (f12.aufgelalt + g12.aufgelneu) as Rumpf_neu_ &jahr, (((100 / (d12.aufgelalt + e12.aufgelneu)) * (f12.aufgelalt + g12.aufgelneu)) - 100) Veraenderung from (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07)), 08, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08)), 09, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelaufen from t154wast t where jahr = &jahr and stufe = ' ' and wabe = '01' and (Hwgr = '05' or hwgr = '12' or Hwgr = '25') group by wabe) a11, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07)), 08, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08)), 09, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelaufen from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '05' or hwgr = '12' or Hwgr = '25') group by wabe) b11, (select wabe, sum((vk01) + (vk02) + (vk03) + (vk04) + (vk05) + (vk06)) as rmpf_aufgel_vor from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '05' or hwgr = '12' or Hwgr = '25') group by wabe) c11, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 07, sum(vk07), 08, (sum(vk07) + sum(vk08)), 09, (sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelalt from t154wast t where jahr = &jahr and stufe = ' ' and wabe = '01' and (Hwgr = '05' or hwgr = '12' or Hwgr = '25') group by wabe) d11, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (0), 08, (0), 09, (0), 10, (0), 11, (0), (0), 12, (0) ) as aufgelneu from t154wast t where jahr = &jahr and stufe = ' ' and wabe = '01' and (Hwgr = '05' or hwgr = '12' or Hwgr = '25') group by wabe) e11, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 07, sum(vk07), 08, (sum(vk07) + sum(vk08)), 09, (sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelalt from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '05' or hwgr = '12' or Hwgr = '25') group by wabe) f11, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (0), 08, (0), 09, (0), 10, (0), 11, (0), (0), 12, (0) ) as aufgelneu from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '05' or hwgr = '12' or Hwgr = '25') group by wabe) g11 from (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07)), 08, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08)), 09, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12) + sum(vk12)) ) as aufgelaufen from t154wast t where jahr = &jahr and stufe = ' ' and wabe = '01' and (Hwgr = '01' or hwgr = '02' or Hwgr = '03' or hwgr = '04' or Hwgr = '06' or hwgr = '07' or Hwgr = '08' or hwgr = '09' or Hwgr = '10' or hwgr = '11' or Hwgr = '26' or hwgr = '29' or hwgr = '27' or hwgr = '28') group by wabe) a12, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07)), 08, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08)), 09, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12) + sum(vk12)) ) as aufgelaufen from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '01' or hwgr = '02' or Hwgr = '03' or hwgr = '04' or Hwgr = '06' or hwgr = '07' or Hwgr = '08' or hwgr = '09' or Hwgr = '10' or hwgr = '11' or Hwgr = '26' or hwgr = '29' or hwgr = '27' or hwgr = '28') group by wabe) b12, (select wabe, sum((vk01) + (vk02) + (vk03) + (vk04) + (vk05) + (vk06)) as rmpf_aufgel_vor from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '01' or hwgr = '02' or Hwgr = '03' or hwgr = '04' or Hwgr = '06' or hwgr = '07' or Hwgr = '08' or hwgr = '09' or Hwgr = '10' or hwgr = '11' or Hwgr = '26' or hwgr = '29' or hwgr = '27' or hwgr = '28') group by wabe) c12, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 07, sum(vk07), 08, (sum(vk07) + sum(vk08)), 09, (sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12) + sum(vk12)) ) as aufgelalt from t154wast t where jahr = &jahr and stufe = ' ' and wabe = '01' and (Hwgr = '01' or hwgr = '02' or Hwgr = '03' or hwgr = '04' or Hwgr = '06' or hwgr = '07' or Hwgr = '08' or hwgr = '09' or Hwgr = '10' or hwgr = '11' or Hwgr = '26' or hwgr = '29' or hwgr = '27' or hwgr = '28') group by wabe) d12, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (0), 08, (0), 09, (0), 10, (0), 12, (0), (0), 12, (0) ) as aufgelneu from t154wast t where jahr = &jahr and stufe = ' ' and wabe = '01' and (Hwgr = '01' or hwgr = '02' or Hwgr = '03' or hwgr = '04' or Hwgr = '06' or hwgr = '07' or Hwgr = '08' or hwgr = '09' or Hwgr = '10' or hwgr = '11' or Hwgr = '26' or hwgr = '29' or hwgr = '27' or hwgr = '28') group by wabe) e12, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 07, sum(vk07), 08, (sum(vk07) + sum(vk08)), 09, (sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk12) + sum(vk12)) ) as aufgelalt from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '01' or hwgr = '02' or Hwgr = '03' or hwgr = '04' or Hwgr = '06' or hwgr = '07' or Hwgr = '08' or hwgr = '09' or Hwgr = '10' or hwgr = '11' or Hwgr = '26' or hwgr = '29' or hwgr = '27' or hwgr = '28') group by wabe) f12, (select wabe, sum(vk &monat) as Monat_ &monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (0), 08, (0), 09, (0), 10, (0), 12, (0), (0), 12, (0) ) as aufgelneu from t154wast t where jahr = &jahr + 1 and stufe = ' ' and wabe = '01' and (Hwgr = '01' or hwgr = '02' or Hwgr = '03' or hwgr = '04' or Hwgr = '06' or hwgr = '07' or Hwgr = '08' or hwgr = '09' or Hwgr = '10' or hwgr = '11' or Hwgr = '26' or hwgr = '29' or hwgr = '27' or hwgr = '28') group by wabe) g12
  6. Hi, Ich bin noch ein PL/SQL Anfänger und habe folgendes Problem: Das Script unten funktioniert und gibt mir schön eine Zeile raus mit allen Angaben die ich brauche. Jetzt brauche ich das ganze noch 16x mit anderen Werten bei der where Abfrage : wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') Und wie bekomme ich oben die 16 verschiedenen selects untereinander? Vielen Dank schon einmal für die Hilfe! select 11 as veg,a11.Monat_&monat,b11.Monat_&monat,(((100/a11.Monat_&monat)*b11.Monat_&monat)-100) Veraenderung, a11.aufgelaufen,b11.aufgelaufen,(((100/a11.aufgelaufen)*b11.aufgelaufen)-100) Veraenderung, c11.rmpf_aufgel_vor, (d11.aufgelalt + e11.aufgelneu) as Rumpf_alt_&jahr, (f11.aufgelalt + g11.aufgelneu) as Rumpf_neu_&jahr ,(((100/(d11.aufgelalt + e11.aufgelneu))*(f11.aufgelalt + g11.aufgelneu))-100) Veraenderung from (select wabe,sum(vk&monat) as Monat_&monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07)), 08, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08)), 09, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelaufen from t154wast t where jahr=&jahr and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe )a11, (select wabe,sum(vk&monat) as Monat_&monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07)), 08, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08)), 09, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelaufen from t154wast t where jahr=&jahr + 1 and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe )b11, (select wabe, sum((vk01) + (vk02) + (vk03) + (vk04) + (vk05) + (vk06)) as rmpf_aufgel_vor from t154wast t where jahr=&jahr + 1 and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe )c11, (select wabe,sum(vk&monat) as Monat_&monat, decode(&monat, 07, sum(vk07), 08, (sum(vk07) + sum(vk08)), 09, (sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelalt from t154wast t where jahr=&jahr and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe )d11, (select wabe,sum(vk&monat) as Monat_&monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (0), 08, (0), 09, (0), 10, (0), 11, (0), (0), 12, (0) ) as aufgelneu from t154wast t where jahr=&jahr and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe ) e11, (select wabe,sum(vk&monat) as Monat_&monat, decode(&monat, 07, sum(vk07), 08, (sum(vk07) + sum(vk08)), 09, (sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelalt from t154wast t where jahr=&jahr+1 and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe )f11, (select wabe,sum(vk&monat) as Monat_&monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (0), 08, (0), 09, (0), 10, (0), 11, (0), (0), 12, (0) ) as aufgelneu from t154wast t where jahr=&jahr+1 and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe ) g11
  7. Vielen Dank für eure Hilfe! Ich denke mal auch, dass ich das ganze umlegen werde. So macht das wirklich keinen Sinn. VG Christof
  8. Das tollste ist ja, dass ich erst seit ein paar Tagen mit PL/SQL arbeite und gleich eine Jahresumsatzaufstellung basteln soll. Die Tabelle sieht grob so aus: Spalten: Jahr, vk01, vk02 -> vk12 (Für die Monate 1-12) und haben wollen sie: einen Variabelen monatsumsatz letztes jahr, Variablen monatsumsatz dieses jahr, Aufgelaufener Umsatz letztes jahr, Aufgelaufener Umsatz dieses jahr, Aufgelaufener Umsatz dieses Jahr Rumpf, (Jan-Jun) Aufgelaufener Umsatz letztes Jahr, (Jul-...Variabel) Aufgelaufener Umsatz dieses Jahr, (Jul-...Variabel) axo und das ganze auch noch über 16 verschiedene Warengruppen hinweg ^^ Eine Abfrage habe ich schon einmal gemacht die siehr so aus: Die anderen 16 sehen ähnlich aus. (select 11 as veg,sum(vk&monat) as Monat_&monat, decode(&monat, 01, sum(vk01), 02, (sum(vk01) + sum(vk02)), 03, (sum(vk01) + sum(vk02) + sum(vk03)), 04, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04)), 05, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05)), 06, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06)), 07, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07)), 08, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08)), 09, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09)), 10, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10)), 11, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11)), 12, (sum(vk01) + sum(vk02) + sum(vk03) + sum(vk04) + sum(vk05) + sum(vk06) + sum(vk07) + sum(vk08) + sum(vk09) + sum(vk10) + sum(vk11) + sum(vk12)) ) as aufgelaufen from t154wast t where jahr=&jahr and stufe=' ' and wabe='01' and (Hwgr='05' or hwgr='12' or Hwgr='25') group by wabe ) union all
  9. Ich hoffe jemand kann mir bei folgendem Problem helfen: Wir haben eine ganz tolle Jahresumsatztabelle in dem die Jahreszahl auch schön als Spalte und die Jahreszahlen als Werte vorhanden sind. Die Erträge der Monate sind als Spalten einzeln als VK01 bis VK12 vorhanden. Es soll angegeben werden können die Jahreszahl, der Startmonat und ich denke mal die Laufzeit in Monaten macht am meisten Sinn. Wie bekommt man das hin, dass man sie Summen aus zwei Jahren bildet? Z.B Juli 2008 bis Januar 2009?

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...