SQL Eine harte Nuss mit Stored Procedure =(

nuklin

Grünschnabel
Hi Leute, ich hab ein Problem mit einer Aufgabenstellung..



Ich muss eine Berechnung (Ähnlich wie einen Mittelwert über mehrere Felder einer Zeile) jeweils auf der rechten seite als zusätzliche spalte hinzufügen, also á la select *, ergebnis..

wer lust hat die aufgabe alser ganzer zu lesen: ich muss, sofern sich der zinssatz in dem betrachtungsmonat ändert den vorhergehenden zinssatz und den geänderten zinssatz adäquat zu den, im monat betroffenen tagen ausrechnen...

also eine echt harte nuss..

jeztt hab ich es mit einem endloslangen select probiert, aber scheinbar kann man bei größeren sachen nicht einfach mit den subselects rechenoperationen durchführen, also muss anscheinend ne stored procedure her.

Ich hab jetzt mal die lange selectschlange zuerlegt und ohne if klausel in die stored procedure gegeben. nur wie wende ich das ganze dann an, dass es sich an die normale abfrage anhängt

das änderungsdatum habe ich auch, also kann ich überprüfen ob das änderungsdatum nach dem ersten des monats ist. dann rechne ich die tage vom ersten bis zum änderungsdatum und vom änderungsdatum bis zum ende des monats und multipliziere die erhaltenen tage mit dem jeweiligen zinssatz. dann durch die TageDesMonats und das sollte stimmen nur funktioniert irgendwas nicht..... (die täglichen zinswerte mit datum sind in der tabelle Hilfs2, der rest ist in Hilfs1)

wäre für jeden tipp dankbar
 
Zuletzt bearbeitet:
Hi und willkommen

Vorweg:
Halte dich an die Netiquette! Du musst sie nicht ohne Spaß bei der Anmeldung bestättigen.

Zum Problem:
Eine SP ist der falsche Ansatz. Du benötigst eine Stored Function, die den Wert zurückliefert. Diese kannst du dann im Select-Teil des Querys aufrufen
 
Danke für die Antwort!!

Ich werde das gleich versuchen umzusetzen =)

Zur Nettiquette: Was hab ich denn falsch gemacht Ist der Titel nicht aussagekräftig? Wenn du mir sagst wie ich ihn besser schreibe, ändere ich ihn gleich ab.
 
Der Titel ist es nicht

Aber schau dir doch mal Punkt 15 an!
Netiquette hat gesagt.:
Unser Forum ist kein Chatroom. Kurz-Beiträge ("Ein-Zeilen Postings"), die einfach so ins Forum "geklatscht" werden, werden ohne Vorwarnung von einem Moderator oder Administrator gelöscht. Das gleiche gilt insbesondere für Beiträge, die in Rechtschreibung, Satzbau und Verständlichkeit nicht ein vernünftiges, allgemein übliches und altersgruppen-übergreifendes Niveau erfüllen. Jugendsprache, regional verbreitete Dialekte und durchgehend kleingeschriebene Beiträge sind ebenfalls unerwünscht. Mit anderen Worten: wer erfolgreich die im Deutsch-Unterricht erlernten Kenntnisse praxisnah auf unserem Forum anwenden kann, wird nicht mit dieser Regel in Konflikt kommen. "Wiederholungstäter" werden, nachdem sie zuvor von einem Moderator auf die Mängel hingewiesen wurden, ggf. unbefristet gesperrt.
 
ok, sorry, das mit der Groß-Kleinschreibung hab ich scheinbar überlesen, werde ich zukünftig beachten ;-)

ich dachte, dass der Text durchaus verständlich war, lese ich ihn jetzt erneut, sehe ich, ausgenommen der Groß-Kleinschreibung und einigen Vertipp-Fehlern keine Auffällig- oder Unklarkeiten.

Ich werde erst am Montag den nötigen Datenbankzugriff haben um das Problem mit Functions umzusetzen, daher bitte ich, das Thema noch nicht auf "erledigt" zu setzen. Danke! :)
 
Ich werde erst am Montag den nötigen Datenbankzugriff haben um das Problem mit Functions umzusetzen, daher bitte ich, das Thema noch nicht auf "erledigt" zu setzen. Danke! :)
Hi

Das solltest sowieso du machen. Du weißt ja, wann deine Frage beantwortet ist, nicht die Mods oder Admins (ja, ich weiß ihr wisst alles :p :))
 
Zurück