![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: FIBpro
Alle neuesten Datensätze holen
Hallo!
Ich habe eine solche Tabelle:
Delphi-Quellcode:
Nun bräuchte ich einen Query, mit dem ich folgendes Ergebnis erhalte:
ID |FK_FOO|FK_FOO2|DATUM
---------------------------- 1001 |1200 |2001 |12.01.2019 1002 |1201 |2001 |12.01.2019 1003 |1200 |2001 |22.11.2018 1004 |1201 |2001 |22.11.2018 1005 |1217 |2001 |02.02.2019 1006 |1200 |2002 |12.01.2019 ...
Code:
Der Fremdschlüssel FOO soll hierbei das Gruppierungskennzeichen sein. Die Reihenfolge in der Tabelle ist sortiert nach ID, das DATUM kann völlig willkürlich sein, also nicht aufsteigend mit der Datensatznummer. Ich brauche zu jedem Wert in FK_FOO genau eine Zeile in der Ergebnismenge, nämlich genau die mit dem höchsten/neuesten Datum.
ID |FK_FOO|FK_FOO2|DATUM
------------------------------- 1001 |1200 |2001 |12.01.2019 1002 |1201 |2001 |12.01.2019 1005 |1217 |2001 |02.02.2019 1006 |1200 |2002 |12.01.2019 ... EDIT: Ich hatte den zweiten Fremdschlüssel FK_FOO2 vergessen, der ebenfalls Gruppierungskriterium sein soll. Die Kombination aus FK_FOO und FK_FOO2 darf nur einmal je Datum vorkommen. Viele Grüße Cody |
AW: Alle neuesten Datensätze holen
SQL-Code:
Select
b.id, a.FK_FOO, a.DATUM from (select FK_FOO, max(DATUM) as DATUM group by FK_FOO from <Tabelle) a join <Tabelle> b on b.FK_FOO = a.FK_FOO and b.DATUM = DATUM); |
AW: Alle neuesten Datensätze holen
Ja und fk_foo2 noch ananlog zu fk_foo dazu
|
AW: Alle neuesten Datensätze holen
Code:
Die Frage ist, wie ID für die Ergsbnismenge bestimmt werden soll. So wie das in den daten aussieht müsste es eigentlich noch ins group by hinein.
select min(id),fk_foo, fk_foo2, max(datum) from tabelle
group by fk_foo, fk_foo2 order by 1 asc |
AW: Alle neuesten Datensätze holen
Danke euch, läuft jetzt wie gewünscht!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz