Benutzer mit den meisten Antworten
Bitte Hilfe bei Abfrage

Frage
-
Hi.
Ich brauch mal Eure Hilfe für eine Abfrage.
Ich habe eine Sicht welche mir folgende Spalten liefert: Name, Auftragsnummer, Auftragsdatum
Das Ergebnis ist eine Liste, welche mehrere Aufträge pro Namen ausgibt. Wie erstelle ich eine Abfrage auf diese Sicht, welche mir zu einem Namen jeweils nur die Auftragsnummer des aktuellsten (jüngsten) Auftrags ausgibt. Hierbei ist zu beachten, dass die Auftragsnummer eine Zufallsnummer ist. Ein jüngerer Auftrag kann eine kleinere Nummer haben als ein älterer Auftrag.
LG
.::datekk::.
- Bearbeitet datekk2 Freitag, 3. April 2020 12:49
Antworten
-
Hallo!
Falls Du noch kein SQL Server 2019 einsetzt, wäre dies ein möglicher Weg:
WITH Vorberechnung AS ( SELECT Name, Auftragsnummer , ROW_NUMBER() OVER(PARTITION BY Name ORDER BY Auftragsdatum desc) AS rn from <MeineView> ) SELECT Name, Auftragsnummer FROM Vorberechnung WHERE rn = 1 ORDER BY Name;
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 9. April 2020 14:56
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 16. April 2020 13:35
-
Select Name , last_value (Auftragsnummer) over (partition by Name order by Auftragsdatum desc) , last_value (Auftragsdatum) over (partition by Name order by Auftragsdatum desc) from MyTable
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 9. April 2020 14:56
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 16. April 2020 13:35
Alle Antworten
-
Select Name , last_value (Auftragsnummer) over (partition by Name order by Auftragsdatum desc) , last_value (Auftragsdatum) over (partition by Name order by Auftragsdatum desc) from MyTable
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 9. April 2020 14:56
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 16. April 2020 13:35
-
Hallo!
Falls Du noch kein SQL Server 2019 einsetzt, wäre dies ein möglicher Weg:
WITH Vorberechnung AS ( SELECT Name, Auftragsnummer , ROW_NUMBER() OVER(PARTITION BY Name ORDER BY Auftragsdatum desc) AS rn from <MeineView> ) SELECT Name, Auftragsnummer FROM Vorberechnung WHERE rn = 1 ORDER BY Name;
Einen schönen Tag noch, Christoph - http://www.insidesql.org/blogs/cmu
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 9. April 2020 14:56
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 16. April 2020 13:35