Hallo erstmal,
ich bin sowohl neu im Forum als auch in MySql, mach grad ein Praktikum und soll eine Datenbank, mit verschiedenen Tabellen, Primary und Foreign Keys erstellen. So weit so gut, hab mit ein bisschen unterstützung auch alles hinbekommen (s. Bild)
So, jetzt bin ich grad bei den Abfragen gelandet,
meine Aufgabe ist es, den Wert aus der Tabelle benchmark, zu einem bestimmten Datum und einer bestimmten Zeit zu bekommen, meine Abfrage sieht bis jetzt so aus:
select *
from
(
SELECT
B.isin,
A.bench_id,
A.datum as datum,
A.zeit,
A.wert ,
B.zeitdiff
FROM
benchmark as A join zuordnung as B
on
Case(select aktivbenchmark from zuordnung where isin='DE0002635562')
when bench_id1 then A.bench_id=B.bench_id1 else A.bench_id=B.bench_id2 end
where isin='DE0002635562' and A.zeit=B.zeit
order by datum desc, zeit desc
)as r
Das Datum, das aus benchmark gesucht werden soll, ist das aktuelle datum-der zeitdifferenz aus der Tabelle zuordnung, wobei sich die zeitdiff nur auf Arbeitstage Mo-Fr bezieht. (Es gibt in benchmark zu jedem Werktag ein Datum)
Wenn ich jetzt (im Prinzip) eine Limit-Order schreiben würde ala:
Limit (B.zeitdiff),1
würde das ergebnis ja stimmen, problem ist (wurde mir gesagt) das B.zeitdiff ein string ist und mysql nach limit zwei int erwartet
bitte helft einem armen kleinen jungen ;)
wenn es zu unverständlich war bitte ich um entschuldigung (hab vor max 2 wochen erst mit mysql angefangen)
danke im Voraus