Hallo!
Ich stehe im Geschäft vor einem kleinen (für mich eher großem) Problem.
Ich würde gerne eine Abfrage auf dem Microsoft SQL-Server in SQL erstellen, die mir jeweils den ersten Datensatz einer Tabelle ausgibt. Dabei hat die Tabelle folgendes Aussehen:
Kundennummer Laufzeit Volumen
1 1 Tag 200
1 1 Woche 150
2 1 Tag 400
2 1 Woche 400
3 1 Tag 550
3 1 Woche 400
Nun muss Folgendes beachtet werden: Ich möchte mir jeweils für jede Kundennummer den Datensatz mit dem höchsten Volumen ausgeben lassen. Dabei kommt es bei Kundennummer 2 zu einem Problem, da hier das Volumen bei der Laufzeit 1 Tag und 1 Woche gleich groß ist. Kommt so etwas vor, soll immer der Datensatz ausgegeben werden, der die kürzeste Laufzeit hat. Das Ergebnis der SQL-Abfrage sollte daher lauten:
Kundennummer Laufzeit Volumen
1 1 Tag 200
2 1 Tag 400
3 1 Tag 550
Und das dann für beliebig viele Datensätze!
Wie programmiert man so etwas in SQL? Die Laufzeit ist bei mir nochmal numerisch codiert, d.h. 1 Tag ist mit 1, 1 Woche mit 2, usw. codiert.
Wäre super, wenn mir jemand bei diesem Problem helfen könnte.
Ich hocke da schon ein paar Stunden dran.
Vielen Dank für Eure Hilfe!
Gruß,
Andreas