Hallo zusammen!
Ich bin mir sicher, dass mir hier geholfen werden kann. Ich bin leider kompletter Neuling und habe eine Aufgabe vor mir liegen, die mir Kopfzerbrechen bereitet und für erfahrene MSSQL-User vermutlich ein Klacks ist...
Das Problem:
Ich habe eine Tabelle dbo.Auftraege mit den Spalten
Oid - Kundennummer - Auftragszeitpunkt - Ort - Einheit
Die Oid ist der Primärschlüssel. Mein Ziel ist es nun, für jede Kundennummer den neuesten Auftrag herauszufinden und die Inhalte der anderen Spalten zu erhalten (vor allem die Oid ist wichtig, um unabhängige, weitere Verknüpfungen machen zu können). Es gibt keine Relation zwischen Primärschlüssel und Auftragszeitpunkt, der höchste Primärschlüssel ist nicht gleich neuester Auftrag...
Anders formuliert: ich brauche ein MAX(Auftragszeitpunkt), GROUP BY Kundennummer, bei dem die drei anderen Spalten korrekt befüllt sind. Diese Abfrage geht natürlich nicht, weil ich bei einer Aggregatsfunktion keine "sonstigen" Spalten mit hinzunehmen kann.
Gibt es also eine Möglichkeit (am Besten als View), das Ergebnis quasi Gruppiert nach Kundennummer darzustellen? Eine Verknüpfung von mehreren Sichten oder Unterabfragen wären kein Problem, Performance ist glücklicherweise kein Faktor.
Ich bin mir sicher, dass mir hier geholfen werden kann. Ich bin leider kompletter Neuling und habe eine Aufgabe vor mir liegen, die mir Kopfzerbrechen bereitet und für erfahrene MSSQL-User vermutlich ein Klacks ist...
Das Problem:
Ich habe eine Tabelle dbo.Auftraege mit den Spalten
Oid - Kundennummer - Auftragszeitpunkt - Ort - Einheit
Die Oid ist der Primärschlüssel. Mein Ziel ist es nun, für jede Kundennummer den neuesten Auftrag herauszufinden und die Inhalte der anderen Spalten zu erhalten (vor allem die Oid ist wichtig, um unabhängige, weitere Verknüpfungen machen zu können). Es gibt keine Relation zwischen Primärschlüssel und Auftragszeitpunkt, der höchste Primärschlüssel ist nicht gleich neuester Auftrag...
Anders formuliert: ich brauche ein MAX(Auftragszeitpunkt), GROUP BY Kundennummer, bei dem die drei anderen Spalten korrekt befüllt sind. Diese Abfrage geht natürlich nicht, weil ich bei einer Aggregatsfunktion keine "sonstigen" Spalten mit hinzunehmen kann.
Gibt es also eine Möglichkeit (am Besten als View), das Ergebnis quasi Gruppiert nach Kundennummer darzustellen? Eine Verknüpfung von mehreren Sichten oder Unterabfragen wären kein Problem, Performance ist glücklicherweise kein Faktor.