Hi Leute,
ich hab da mal eine allgemeine Frage:
Wenn ich eine Tabelle habe mit lauter Tageswerten von Aktienkursen und ich mit einem Statement von allen Kursen alle letzten Werte holen will, die zB gestern, vorgestern, letzte Woche, vor zwei Wochen und vor einem Monat lagen und ich NICHT an jedem Tag einen Wert habe, muss ich dann zu jedem gewünschten Datum erst den MAX (tag) holen und dann in einem weiteren JOIN den Wert am jeweiligen Tag?
Meine Statements werden dadurch schnell mal riesig lang.
Beispiel:
id_indice, day_of_value, value
1, 2013-01-14, 123.45
1, 2013-01-12, 123.37
2, 2013-01-14, 97.23
2, 2013-01-13, 97.26
usw
Wäre echt super, wenn mir da mal jemand helfen könnte. Weil ich mittlerweile Statements über 100 Zeilen habe die super funktionieren und auch sehr schnell sind, aber sich nur extrem schwer anpassen lassen, da meine Spalten in den Statements immer weiter hochgereicht werden. Das geht bestimmt noch besser.
Gruß, Tommy
ich hab da mal eine allgemeine Frage:
Wenn ich eine Tabelle habe mit lauter Tageswerten von Aktienkursen und ich mit einem Statement von allen Kursen alle letzten Werte holen will, die zB gestern, vorgestern, letzte Woche, vor zwei Wochen und vor einem Monat lagen und ich NICHT an jedem Tag einen Wert habe, muss ich dann zu jedem gewünschten Datum erst den MAX (tag) holen und dann in einem weiteren JOIN den Wert am jeweiligen Tag?
Meine Statements werden dadurch schnell mal riesig lang.
Beispiel:
id_indice, day_of_value, value
1, 2013-01-14, 123.45
1, 2013-01-12, 123.37
2, 2013-01-14, 97.23
2, 2013-01-13, 97.26
usw
Code:
SELECT
y0.id_indice,
y0.lastday,
y1.value AS lastdayvalue
FROM
(SELECT
x0.id_indice,
MAX(x1.day_of_value) AS lastday
FROM
(SELECT
id_indice
FROM
indices) x0
INNER JOIN
indicevalues x1
ON
x1.id_indice = x0.id_indice) y0
INNER JOIN
indicevalues y1
ON
y1.id_indice = y0.id_indice
AND
y1.day_of_value = y0.lastday
Wäre echt super, wenn mir da mal jemand helfen könnte. Weil ich mittlerweile Statements über 100 Zeilen habe die super funktionieren und auch sehr schnell sind, aber sich nur extrem schwer anpassen lassen, da meine Spalten in den Statements immer weiter hochgereicht werden. Das geht bestimmt noch besser.
Gruß, Tommy