MSSQL Zählen der Datensätze nach unterschiedlichen Kriterien
Hi Admins,
ich möchte auf einer MSSQL 2008 R2 DB in einem Select folgende Daten hinzufügen die sich direkt auf das Select beziehen:
1. laufende Nummer des Datensatzes (alle Datensätze hochzählen)
2. laufende Nummer des Datensatzes bezogen auf einen Referenzwert (hochzählen wenn)
3. Anzahl der Datensätze bezogen auf einen Referenzwert (Maximalwert von hochzählen wenn)
So richtig schlau bin ich bei meinen Recherchen derzeit noch nicht geworden. Geht das im gleichen Select?
Beispiel (Referenz Typ):
Typ und Wert werden abgefragt, die anderen 3 Spalten sollten sich je nach Ergebnis anpassen.
Danke für eure Hilfe.
Gruß Joni
ich möchte auf einer MSSQL 2008 R2 DB in einem Select folgende Daten hinzufügen die sich direkt auf das Select beziehen:
1. laufende Nummer des Datensatzes (alle Datensätze hochzählen)
2. laufende Nummer des Datensatzes bezogen auf einen Referenzwert (hochzählen wenn)
3. Anzahl der Datensätze bezogen auf einen Referenzwert (Maximalwert von hochzählen wenn)
So richtig schlau bin ich bei meinen Recherchen derzeit noch nicht geworden. Geht das im gleichen Select?
Beispiel (Referenz Typ):
Typ Wert lfdNR lfdNRTyp maxNRTyp
a 12 1 1 3
a 45 2 2 3
b 87 3 1 2
b 65 4 2 2
a 32 5 3 3
Typ und Wert werden abgefragt, die anderen 3 Spalten sollten sich je nach Ergebnis anpassen.
Danke für eure Hilfe.
Gruß Joni
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 182556
Url: https://administrator.de/contentid/182556
Ausgedruckt am: 05.11.2024 um 16:11 Uhr
6 Kommentare
Neuester Kommentar
Moin Joni,
die aktuelle Zeilennr. der momentanen Ausgabe gibt es leider nicht in SQL Server. Bei Oracle gabs mal eine Pseudospalte namens "rownum", aber SQL Server bietet das nicht.
Du könntest allenfalls die Sortierung bei der lfdNr angeben und die Abfrage dann nach lfdNr sortieren, dann bräuchtest Du auch nur an einer Stelle die Sortierung ändern.
Gruß, Mad Max
die aktuelle Zeilennr. der momentanen Ausgabe gibt es leider nicht in SQL Server. Bei Oracle gabs mal eine Pseudospalte namens "rownum", aber SQL Server bietet das nicht.
Du könntest allenfalls die Sortierung bei der lfdNr angeben und die Abfrage dann nach lfdNr sortieren, dann bräuchtest Du auch nur an einer Stelle die Sortierung ändern.
Gruß, Mad Max