Databases Reference
In-Depth Information
29.2■Ordnung nach der row_number
over partition
Nehmen wir einmal an, es gäbe in der Tabelle iw_sales keine line_No . Dann müssten wir
den Inhalt der einzelnen Warenkörbe mit der Funktion row_number over partition nach
der Artikelnummer ordnen. Diese neue Ordnung hat den großen Vorteil, dass bei identi-
schen Warenkörben die Artikel in die gleiche Reihenfolge gebracht werden. Die Zeilennum-
mer der Rechnung ( line_No ) kann in der Praxis auch einfach davon abhängen, in welcher
Reihenfolge die Artikel in den Warenkorb gelegt oder in welcher Reihenfolge die Artikel in
der Logistik verarbeitet wurden. Die Ordnung nach row_number over partition bietet
also klare Vorteile. Die grundsätzliche Funktion der row_number over partition habe ich
schon in Abschnitt 16.1, „Row_Number over Partition“, erklärt.
SELECT row_number() over (partition by s.[orderNo]
order by a.article_No) as lfdNr,
s.[orderNo], a.article_No, a.[description], a.colorDescription,
a.size, a.productGroup, s.[quantity] a.unitPrice
FROM [dbo].[iw_sales]s, [dbo].[iw_article]a
where s.[type] = 2
and s.orderDate between '01.05.2011'and '31.05.2011'
and s.IWAN = a.IWAN
order by s.orderNo
Bild 29.5 zeigt die Ergebnisse, wenn Sie diesen Select durchführen.
Bild 29.5■ Laufende Nummer anstatt Line-Nummer
Search WWH ::




Custom Search