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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 182556
Url: https://administrator.de/contentid/182556
Printed on: April 20, 2024 at 04:04 o'clock
6 Comments
Latest comment
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