Hallo zusammen,
ich habe folgende Tabellen:
In Verlauf sollen z.B. Preis- und Mengenänderungen gespeichert werden. Jetzt möchte ich immer die aktuellen Preise der Artikel ausgeben und frage daher ein INNER JOIN zwischen Artikel und Verlauf ab:
SELECT artikel.id , artikel.name , artikel.artikelnr , verlauf.preis
FROM artikel
INNER JOIN verlauf
ON artikel.id = verlauf.artikel_id
WHERE verlauf.t_stamp = ( SELECT max(t_stamp) FROM verlauf)"
Mein Problem ist nun, dass bei dieser Abfrage nur der eine Artikel ausgegeben wird der den absolut höchsten Timestamp hat. Wie muss ich die WHERE-Clause formulieren, dass mySQL immer den höchsten Timestamp zu jeder Artikel_id (verlauf.artikel_id) heraus gibt?
ich habe folgende Tabellen:
Artikel | Verlauf |
---|---|
id artikelnr name | id artikel_id t_stamp preis |
In Verlauf sollen z.B. Preis- und Mengenänderungen gespeichert werden. Jetzt möchte ich immer die aktuellen Preise der Artikel ausgeben und frage daher ein INNER JOIN zwischen Artikel und Verlauf ab:
SELECT artikel.id , artikel.name , artikel.artikelnr , verlauf.preis
FROM artikel
INNER JOIN verlauf
ON artikel.id = verlauf.artikel_id
WHERE verlauf.t_stamp = ( SELECT max(t_stamp) FROM verlauf)"
Mein Problem ist nun, dass bei dieser Abfrage nur der eine Artikel ausgegeben wird der den absolut höchsten Timestamp hat. Wie muss ich die WHERE-Clause formulieren, dass mySQL immer den höchsten Timestamp zu jeder Artikel_id (verlauf.artikel_id) heraus gibt?
Zuletzt bearbeitet: