Hallo zusammen,
ich schreibe meiner Master Thesis und mache eine Studie über den Kapitalmarkt. Da muss ich jetzt erst mal die Aktienrenditen berechnen.
Folgende Tabelle habe ich:
tbl_values:
das Datum hat das Format 2010-09-30 (immer nur Monatsenden) und zu jeder Aktie (insgesmat 1070) habe ich in dieser Tabelle die entsprechenden Werte (im März 1996 diesen Aktienkurs und diesen Marktwert).
Jetzt möchte ich die Rendite einer Aktie im März berechnen und in das fld_rendite schreiben.
ich habe es versucht mit:
UPDATE tbl_values AS v SET fld_rendite = (fld_aktienkurs - (SELECT fld_aktienkurs FROM tbl_values WHERE fld_datum>= DATE_SUB(fld_datum, INTERVAL 40 DAY)) / (SELECT fld_aktienkurs FROM tbl_values WHERE fld_datum>= DATE_SUB(fld_datum, INTERVAL 40 DAY))
Also eigentlich rechne ich fld_rendite = (Aktienkurs(Januar 1999) - Aktienkurs(Dezember 1998)) / Aktienkurs(Dezember 1998)
Leider gibt er da einen Fehler aus, ich darf in einem UPDATE nicht auf die gleiche Tabelle einen SELECT machen.
Kann mir jemand bei meinem Problem helfen? Wie kriege ich meine monatlichen Renditen in meine Tabelle?
Vielen Dank im Voraus.
ich schreibe meiner Master Thesis und mache eine Studie über den Kapitalmarkt. Da muss ich jetzt erst mal die Aktienrenditen berechnen.
Folgende Tabelle habe ich:
tbl_values:
- fld_id
- fld_aktienkurs
- fld_marktwert
- fld_rendite
- fld_datum
- tbl_aktien_fld_id
- fld_anzahl (aktienzahl)
das Datum hat das Format 2010-09-30 (immer nur Monatsenden) und zu jeder Aktie (insgesmat 1070) habe ich in dieser Tabelle die entsprechenden Werte (im März 1996 diesen Aktienkurs und diesen Marktwert).
Jetzt möchte ich die Rendite einer Aktie im März berechnen und in das fld_rendite schreiben.
ich habe es versucht mit:
UPDATE tbl_values AS v SET fld_rendite = (fld_aktienkurs - (SELECT fld_aktienkurs FROM tbl_values WHERE fld_datum>= DATE_SUB(fld_datum, INTERVAL 40 DAY)) / (SELECT fld_aktienkurs FROM tbl_values WHERE fld_datum>= DATE_SUB(fld_datum, INTERVAL 40 DAY))
Also eigentlich rechne ich fld_rendite = (Aktienkurs(Januar 1999) - Aktienkurs(Dezember 1998)) / Aktienkurs(Dezember 1998)
Leider gibt er da einen Fehler aus, ich darf in einem UPDATE nicht auf die gleiche Tabelle einen SELECT machen.
Kann mir jemand bei meinem Problem helfen? Wie kriege ich meine monatlichen Renditen in meine Tabelle?
Vielen Dank im Voraus.
Comment