SELECT: den aktuellsten eintrag für jede id, wobei zeit und datum getrennt sind

DesertCrawler

Neuer Benutzer
Beiträge
3
Hallo,
Ich habe folgende Abfrage:

SELECT * FROM `tablename` WHERE time IN (SELECT MAX(time) FROM `tablename` WHERE date IN (SELECT MAX(date) FROM `tablename)) GROUB BY id

Ich möchte den letztmaligen eintrag für jede id in der Tabelle ausgeben. Doch irgendwie funktioniert das nicht.
 
Werbung:
Dein SQL ist komisch, select id, max(date) from <table> group by id sollte schon zielführend sein. Aber Dein 'zeit und datum getrennt' scheint ein sicherer Hinweis auf ein vollständig verkacktes Design zu sein. In dem Falle kommst Du mit der sachgerechten Entsorgung schneller zum Ziel.
 
Code:
SELECT    tabelle.*
FROM    tabelle
INNER JOIN (

SELECT    id,
        max(cast(datum AS DATETIME) + cast(zeit AS DATETIME)) AS datumzeit
FROM    tabelle
GROUP BY id

        ) t
ON        cast(tabelle.datum AS DATETIME) + cast(tabelle.zeit AS DATETIME) = t.datumzeit
 
Werbung:
Zurück
Oben