ich brauche wieder mal eure Hilfe, bei einem Problem:
Ich habe in einer Istdaten-Tabelle folgende Buchhaltungsdaten:
Konto-Nr, Kostenstellen-Nr, Kontenbezeichnung, Buchungswert, Buchungsmonat, Buchungsjahr (PS: die Kontenbezeichnung hole ich aus einer Konten-Tabelle)
Nun möchte ich die Istdaten pro Konto und Kostenstelle und Jahr auf den Jahreswert (Summe p.a.) verdichten. (Das ist ja nicht schwer)
Die so verdichteten Datensätze möchte ich nun in eine Plandaten-Tabelle schreiben und 12-teln, so dass ich aus dem einen verdichteten Datensatz 12 Datensätze mit gleiche Inhalten, aber unterschiedlichen Monaten (1 bis 12) in meiner Plandaten-Tabelle stehen habe.
Da ich das ganze flexibel benötige, also die Anzahl der Monate variieren (12, 18, 24, 36 ... Monate) können muss, möchte ich das mit einer While-Schleife in einer Prozedur lösen. Die Anzahl der Monate möchte ich später aus einer Steuerungstabelle holen.
Hier mein Ansatz für die Prozedur:
Code: Alles auswählen
Set @monat = 0
While @monat < 13 Do
Insert Into plandaten ( pd_ktonr, pd_kstnr, pd_beschreibung, pd_wert, pd_monat, pd_jahr)
SELECT istdaten.id_ktonr,
istdaten.id_kst_ksth,
konten.kto_bezeichnung,
SUM(istdaten.id_wert)/12,
@monat,
istdaten.id_jahr
FROM istdaten, konten where istdaten.id_ktonr = kto_nr
GROUP BY istdaten.id_ktonr, istdaten.id_kst_ksth
Set @monat = @monat + 1
End While;
Vielleicht sieht ja ein geübteres SQL-Auge meinen Anfängerfehler sofort. Schon jetzt danke für eure Hilfe!
Viele Grüße
Werner