hammerle Geschrieben 23. September 2009 Teilen Geschrieben 23. September 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. September 2009 Teilen Geschrieben 23. September 2009 Bitte verwende die Code-Tags, da Deine Sachen nicht wirklich lesbar sind Und wie bekomme ich oben die 16 verschiedenen selects untereinander? Ohne Deine Selects jetzt einzeln anzuschauen, solltest Du eine Union-Abfrage verwenden, wenn Du mehrere Selects zu einer Ergebnismenge verbinden willst. Du musst nur auf die entsprechenden Feldbezeichner achten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hammerle Geschrieben 23. September 2009 Autor Teilen Geschrieben 23. September 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 23. September 2009 Teilen Geschrieben 23. September 2009 Ich finde es schon reichlich unverschämt, dass Du bei diesen Quellcodes nicht in der Lage zu seien scheinst, die Code Tags zu benutzen, vor allem, dass ich Dich darauf hingewiesen habe dieses zu tun. Es ist durchaus hilfreich solche großen Codestrukturen zu formatieren, das erleichtert Dir das verstehen und den Leuten hier, das helfen. Ich habe das jetzt mal so versucht was leider nicht klappt Jetzt meint er "From sei nicht an der erwarteten Stelle" Die Fehlermeldung sagt Dir was zu tun ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hammerle Geschrieben 23. September 2009 Autor Teilen Geschrieben 23. September 2009 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 23. September 2009 Teilen Geschrieben 23. September 2009 Eine Frage: Handelt es sich jetzt um ein und das selbe Statement, dass nur mit unterschiedlichen WHERE Bedingungen laufen soll? Sehen zumindest so aus. Falls ja, dann pack alles in eine WHERE Bedingung und verknüpfe es mit OR: WHERE ( ... ) OR ( ... ) OR (... ) Das sollte deutlich übersichtlicher sein. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hammerle Geschrieben 24. September 2009 Autor Teilen Geschrieben 24. September 2009 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.