Werte Forumsmitglieder,
nachdem ich neu hier bin, sag ich mal ein schönes Hallo aus Österreich. Ich beschäftige mich jetzt seit ein paar Monaten mit sql in Verbindung mit SAP und Excel.
Bis jetzt hab ich ja alles so hinbekommen wie ich es wollte nur jetzt bin ich an einem Punkt wo ich mal nicht mehr weiter weiß.
Ich möchte gerne ein Abfrage machen mit der ich das höchste Datum in einer Gruppierung selektieren kann.
So sieht die Tabelle aus:
beleg | datum
20111 | 31.03.2018
20111 | 26.03.2018
20111 | 25.03.2018
20111 | 24.03.2018
20112 | 28.03.2018
20112 | 26.03.2018
20112 | 25.04.2018
20112 | 05.04.2018
Wenn ich mal nur das maximum Abfrage und gruppiere kein Problem
select beleg, max(datum) from table where ..... group by salesorder
20111 | 31.03.2018
20112 | 25.04.2018
Wenn ich aber das höchste Datum aus der Gruppierung abfragen möchte bekomme ich das nicht hin. Wenn ich es so mache wird der Beleg 20112 mitselektiert mit dem höchsten Wert bis zum selektiertem Datum.
select beleg, max(datum) from tablex where datum < '31.03.2018' group by salesorder
20111 | 31.03.2018
20112 | 28.03.2018
Rauskommen sollen aber im Endeffekt nur die Belege bei denen das höchste Datum im Beleg kleiner dem Filterkriterium ist.
20111 | 31.03.2018
Ich hoffe ihr könnt mir helfen. Danke
mfg
nixfix
nachdem ich neu hier bin, sag ich mal ein schönes Hallo aus Österreich. Ich beschäftige mich jetzt seit ein paar Monaten mit sql in Verbindung mit SAP und Excel.
Bis jetzt hab ich ja alles so hinbekommen wie ich es wollte nur jetzt bin ich an einem Punkt wo ich mal nicht mehr weiter weiß.
Ich möchte gerne ein Abfrage machen mit der ich das höchste Datum in einer Gruppierung selektieren kann.
So sieht die Tabelle aus:
beleg | datum
20111 | 31.03.2018
20111 | 26.03.2018
20111 | 25.03.2018
20111 | 24.03.2018
20112 | 28.03.2018
20112 | 26.03.2018
20112 | 25.04.2018
20112 | 05.04.2018
Wenn ich mal nur das maximum Abfrage und gruppiere kein Problem
select beleg, max(datum) from table where ..... group by salesorder
20111 | 31.03.2018
20112 | 25.04.2018
Wenn ich aber das höchste Datum aus der Gruppierung abfragen möchte bekomme ich das nicht hin. Wenn ich es so mache wird der Beleg 20112 mitselektiert mit dem höchsten Wert bis zum selektiertem Datum.
select beleg, max(datum) from tablex where datum < '31.03.2018' group by salesorder
20111 | 31.03.2018
20112 | 28.03.2018
Rauskommen sollen aber im Endeffekt nur die Belege bei denen das höchste Datum im Beleg kleiner dem Filterkriterium ist.
20111 | 31.03.2018
Ich hoffe ihr könnt mir helfen. Danke
mfg
nixfix